Commit 7ca77ce3 by chongli

Merge branch 'f-6.6.9' of 192.168.10.6:caosy/fun-golf-service into f-6.6.9

parents 6fcfc484 6147a8dc
package com.ctrip.fun.golf.api.order;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.ctrip.fun.common.vo.order.VoucherOrderListBean;
import com.ctrip.fun.common.vo.order.VoucherOrderListExcelBean;
import com.ctrip.fun.common.vo.order.VoucherOrderProcessBean;
import com.ctrip.fun.common.vo.order.OpVoucherOrderBean;
import com.ctrip.fun.golf.service.order.AbstractOpOrderService;
import com.ctrip.fun.golf.service.order.OpVoucherOrderService;
@Controller
@RequestMapping(value = "/voucherOrder")
public class OpVoucherOrderController extends AbstractOpOrderController<VoucherOrderProcessBean, OpVoucherOrderBean, VoucherOrderListBean, VoucherOrderListExcelBean>{
@Autowired
private OpVoucherOrderService opVoucherOrderService = null;
@Override
AbstractOpOrderService<VoucherOrderProcessBean, OpVoucherOrderBean, VoucherOrderListBean, VoucherOrderListExcelBean> getOpOrderService() {
return opVoucherOrderService;
}
}
...@@ -19,6 +19,7 @@ import org.hibernate.Session; ...@@ -19,6 +19,7 @@ import org.hibernate.Session;
import org.hibernate.criterion.Projections; import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.Transformers; import org.hibernate.transform.Transformers;
import org.hibernate.type.StandardBasicTypes;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -50,6 +51,7 @@ import com.ctrip.fun.common.vo.order.RechargeOrderListBean; ...@@ -50,6 +51,7 @@ import com.ctrip.fun.common.vo.order.RechargeOrderListBean;
import com.ctrip.fun.common.vo.order.TourOrderListBean; import com.ctrip.fun.common.vo.order.TourOrderListBean;
import com.ctrip.fun.common.vo.order.TourOrderListItemBean; import com.ctrip.fun.common.vo.order.TourOrderListItemBean;
import com.ctrip.fun.common.vo.order.VipmemberOrderListBean; import com.ctrip.fun.common.vo.order.VipmemberOrderListBean;
import com.ctrip.fun.common.vo.order.VoucherOrderListBean;
import com.ctrip.fun.common.vo.product.ProductPayModeEnum; import com.ctrip.fun.common.vo.product.ProductPayModeEnum;
import com.ctrip.fun.common.vo.product.ProductPaymentTypeEnum; import com.ctrip.fun.common.vo.product.ProductPaymentTypeEnum;
import com.ctrip.fun.common.vo.product.ResourceTypeEnum; import com.ctrip.fun.common.vo.product.ResourceTypeEnum;
...@@ -2165,4 +2167,96 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> { ...@@ -2165,4 +2167,96 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
} }
/**
* TODO 查询抵用券订单列表
* @param orderQuery
* @return
*/
public PagedResponseBean<VoucherOrderListBean> queryVoucherOrderList(OpOrderQuery orderQuery) {
StringBuffer sql = new StringBuffer();
sql.append(" SELECT sql_calc_found_rows a.orderNo,a.OrderID orderId,a.orderName,a.orderDate,a.actualAmount,a.orderStatus,a.orderType,");
sql.append(" a.payMode,a.processStatus,a.uid,e.bindedMobilePhone orderPhone,e.userName orderUserName,a.orderSource,a.orderCategory,a.platform,");
sql.append(" b.activityId,b.recommendUid,d.userName recommendUserName,d.bindedMobilePhone recommendPhone");
sql.append(" FROM ord_order a LEFT JOIN ord_communeitem b ON a.OrderID = b.OrderID");
sql.append(" LEFT JOIN bsc_userext d ON d.uid = b.recommendUid");
sql.append(" LEFT JOIN bsc_userext e ON a.uid = e.uid");
sql.append(" WHERE a.OrderCategory = 16");
sql.append(" AND a.ProcessStatus&16=16");
Map<String, Object> parameters = new HashMap<String, Object>();
if (orderQuery.getOrderNo() != 0) { //订单号
sql.append(" and a.orderNo=:orderNo ");
parameters.put("orderNo", orderQuery.getOrderNo());
}
if (org.apache.commons.lang.StringUtils.isNotBlank(orderQuery.getOrderName())) { //订单名称
sql.append(" and a.orderName like :orderName ");
parameters.put("orderName", "%" + orderQuery.getOrderName() + "%");
}
if (org.apache.commons.lang.StringUtils.isNotBlank(orderQuery.getUserName() )) { //下单人
sql.append(" and e.userName=:userName ");
parameters.put("userName", orderQuery.getUserName());
}
if (org.apache.commons.lang.StringUtils.isNotBlank(orderQuery.getContactTel() )) { //下单人手机号码
sql.append(" and e.bindedMobilePhone=:contactTel ");
parameters.put("contactTel", orderQuery.getContactTel());
}
if (org.apache.commons.lang.StringUtils.isNotBlank(orderQuery.getRecommendUserName() )) { //推荐人姓名
sql.append(" and d.userName=:recommendUserName ");
parameters.put("recommendUserName", orderQuery.getRecommendUserName());
}
if (org.apache.commons.lang.StringUtils.isNotBlank(orderQuery.getRecommendPhone() )) { //推荐人手机号码
sql.append(" and d.bindedMobilePhone=:recommendPhone ");
parameters.put("recommendPhone", orderQuery.getRecommendPhone());
}
if (orderQuery.getOrderStartDate() != null) { //下单时间
sql.append(" and a.orderDate>=:orderStartDate ");
parameters.put("orderStartDate", orderQuery.getOrderStartDate());
}
if (orderQuery.getOrderEndDate() != null) {
sql.append(" and a.orderDate<=:orderEndDate ");
parameters.put("orderEndDate", orderQuery.getOrderEndDate());
}
sql.append(" ORDER BY a.OrderDate DESC");
sql.append("");
Session session = this.getSession();
Query query = session.createSQLQuery(sql.toString())
.addScalar("orderNo",StandardBasicTypes.LONG )
.addScalar("orderId",StandardBasicTypes.INTEGER).addScalar("orderName",StandardBasicTypes.STRING)
.addScalar("orderDate",StandardBasicTypes.TIMESTAMP).addScalar("actualAmount",StandardBasicTypes.BIG_DECIMAL)
.addScalar("orderStatus",StandardBasicTypes.STRING).addScalar("orderType",StandardBasicTypes.INTEGER)
.addScalar("payMode",StandardBasicTypes.STRING).addScalar("processStatus",StandardBasicTypes.INTEGER)
.addScalar("uid",StandardBasicTypes.STRING).addScalar("orderPhone",StandardBasicTypes.STRING)
.addScalar("orderUserName",StandardBasicTypes.STRING).addScalar("orderSource",StandardBasicTypes.INTEGER)
.addScalar("orderCategory",StandardBasicTypes.INTEGER).addScalar("platform",StandardBasicTypes.STRING)
.addScalar("activityId",StandardBasicTypes.INTEGER)
.addScalar("recommendUid",StandardBasicTypes.STRING).addScalar("recommendUserName",StandardBasicTypes.STRING)
.addScalar("recommendPhone",StandardBasicTypes.STRING).setResultTransformer(Transformers.aliasToBean(VoucherOrderListBean.class))
;
for (Entry<String, Object> entry : parameters.entrySet()) {
query.setParameter(entry.getKey(), entry.getValue());
}
query.setFirstResult(orderQuery.getPagerOffset());
query.setMaxResults(orderQuery.getPagerPerPage());
List<VoucherOrderListBean> list = query.list();
Collection<VoucherOrderListBean> result = list;
Query queryCount = session.createSQLQuery(" SELECT FOUND_ROWS() ");
int count = ((BigInteger) queryCount.uniqueResult()).intValue();
PagedResponseBean<VoucherOrderListBean> pagedResponseBean = new PagedResponseBean<VoucherOrderListBean>();
pagedResponseBean.setCount(count);
pagedResponseBean.setResult(result);
return pagedResponseBean;
}
} }
package com.ctrip.fun.golf.dao.order;
import com.ctrip.fun.golf.dao.GenericHibernateDao;
import com.ctrip.fun.golf.domain.order.VoucherOrderItem;
public class VoucherOrderItemDao extends GenericHibernateDao<VoucherOrderItem, Integer>{
}
package com.ctrip.fun.golf.domain.order;
public class VoucherOrderItem {
}
package com.ctrip.fun.golf.service.order;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.order.OpOrderQuery;
import com.ctrip.fun.common.vo.order.OpVoucherOrderBean;
import com.ctrip.fun.common.vo.order.OrderPayinfoBean;
import com.ctrip.fun.common.vo.order.OrderStatusEnum;
import com.ctrip.fun.common.vo.order.VoucherOrderListBean;
import com.ctrip.fun.common.vo.order.VoucherOrderListExcelBean;
import com.ctrip.fun.common.vo.order.VoucherOrderProcessBean;
import com.ctrip.fun.golf.dao.order.VoucherOrderItemDao;
import com.ctrip.fun.golf.dao.user.UserExtDao;
import com.ctrip.fun.golf.domain.order.Order;
import com.ctrip.fun.golf.domain.order.OrderAssignment;
import com.ctrip.fun.golf.domain.order.OrderPayinfo;
public class OpVoucherOrderService extends AbstractOpOrderService<VoucherOrderProcessBean, OpVoucherOrderBean, VoucherOrderListBean, VoucherOrderListExcelBean>{
@SuppressWarnings("unused")
private static Logger logger = LoggerFactory.getLogger(OpVoucherOrderService.class);
private UserExtDao userExtDao;
private VoucherOrderItemDao voucherOrderItemDao;
/**
* TODO: 查询订单列表
* 查询订单列表
*/
@Override
public PagedResponseBean<VoucherOrderListBean> queryOrders(
OpOrderQuery orderQuery) {
PagedResponseBean<VoucherOrderListBean> pagedResponseBean = this.getOrderDao().queryVoucherOrderList(orderQuery);;
if (pagedResponseBean == null || pagedResponseBean.getResult() == null) {
return pagedResponseBean;
}
List<Integer> orderIdList = new ArrayList<Integer>();
for (VoucherOrderListBean orderListBean : pagedResponseBean.getResult()) {
orderIdList.add(orderListBean.getOrderId());
}
List<OrderAssignment> orderAssignments = new ArrayList<OrderAssignment>();
if (orderIdList.size() > 0) {
orderAssignments = getOrderAssignmentDao().getOrderAssignmentByOrderIds(orderIdList);
}
for (VoucherOrderListBean orderListBean : pagedResponseBean.getResult()) {
OrderStatusEnum orderStatusEnum = OrderStatusEnum.getOrderStatus(orderListBean.getOrderType(), orderListBean.getPayMode(), orderListBean.getConfirmType(),
orderListBean.getProcessStatus(), false);
orderListBean.setOrderStatus(orderStatusEnum.getName());
OrderAssignment orderAssignment = this.findOrderAssignment(orderListBean.getOrderId(), orderAssignments);
if (orderAssignment != null) {
orderListBean.setReceiver(orderAssignment.getEid());
}
}
return pagedResponseBean;
}
@Override
public List queryOrderIds(Date playDate) {
// TODO Auto-generated method stub
return null;
}
@Override
protected void updateCustomer(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
}
@Override
protected void updatePayeeName(OrderPayinfoBean orderPayinfoBean,
OrderPayinfo orderPayinfo) {
// TODO Auto-generated method stub
}
@Override
public void syncStatus() {
// TODO Auto-generated method stub
}
@Override
protected void cancel(Order order) {
// TODO Auto-generated method stub
}
@Override
public void updateOrderItem(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
}
@Override
protected void minusInventory(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
}
@Override
protected void notPayMinusInventory(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
}
@Override
protected void confirmBalance(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
}
@Override
protected String generateMsg(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
return null;
}
@Override
protected void refund(VoucherOrderProcessBean orderProcessBean,
boolean isManual) {
// TODO Auto-generated method stub
}
@Override
protected void returnInventory(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
}
@Override
protected void deductPrepayAmt(VoucherOrderProcessBean orderProcessBean) {
// TODO Auto-generated method stub
}
@Override
public OpVoucherOrderBean getOrderDtailByNo(Long orderNo) {
// TODO Auto-generated method stub
return null;
}
@Override
public OpVoucherOrderBean getOrderDtail(Integer orderId) {
// TODO Auto-generated method stub
return null;
}
@Override
public List<VoucherOrderListExcelBean> queryOrdersExcel(
OpOrderQuery orderQuery) {
// TODO Auto-generated method stub
return null;
}
public UserExtDao getUserExtDao() {
return userExtDao;
}
public void setUserExtDao(UserExtDao userExtDao) {
this.userExtDao = userExtDao;
}
public VoucherOrderItemDao getVoucherOrderItemDao() {
return voucherOrderItemDao;
}
public void setVoucherOrderItemDao(VoucherOrderItemDao voucherOrderItemDao) {
this.voucherOrderItemDao = voucherOrderItemDao;
}
}
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
<property name="sessionFactory" ref="sessionFactory"></property> <property name="sessionFactory" ref="sessionFactory"></property>
</bean> </bean>
<bean name="voucherOrderItemDao" class="com.ctrip.fun.golf.dao.order.VoucherOrderItemDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean name="insuranceInfoDao" class="com.ctrip.fun.golf.dao.order.InsuranceInfoDao"> <bean name="insuranceInfoDao" class="com.ctrip.fun.golf.dao.order.InsuranceInfoDao">
<property name="sessionFactory" ref="sessionFactory"></property> <property name="sessionFactory" ref="sessionFactory"></property>
</bean> </bean>
...@@ -293,6 +297,11 @@ ...@@ -293,6 +297,11 @@
<property name="vipmemberOrderItemDao" ref="vipmemberOrderItemDao"></property> <property name="vipmemberOrderItemDao" ref="vipmemberOrderItemDao"></property>
<property name="userExtDao" ref="userExtDao"></property> <property name="userExtDao" ref="userExtDao"></property>
</bean> </bean>
<bean name="opVoucherOrderService" class="com.ctrip.fun.golf.service.order.OpVoucherOrderService" parent="abstractOpOrderService">
<property name="voucherOrderItemDao" ref="voucherOrderItemDao"></property>
<property name="userExtDao" ref="userExtDao"></property>
</bean>
<bean name="opEventActivityOrderService" class="com.ctrip.fun.golf.service.order.OpEventActivityOrderService" parent="abstractOpOrderService"> <bean name="opEventActivityOrderService" class="com.ctrip.fun.golf.service.order.OpEventActivityOrderService" parent="abstractOpOrderService">
<property name="eventActivityOrderItemDao" ref="eventActivityOrderItemDao"></property> <property name="eventActivityOrderItemDao" ref="eventActivityOrderItemDao"></property>
......
package com.ctrip.fun.golf.dao.order;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.order.OpOrderQuery;
import com.ctrip.fun.common.vo.order.VoucherOrderListBean;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath*:*.spring.xml"})
public class OrderDaoTest {
@Autowired
private OrderDao orderDao;
@Test
public void testFindByMobile() {
OpOrderQuery orderQuery = new OpOrderQuery();
PagedResponseBean<VoucherOrderListBean> pageBean = orderDao.queryVoucherOrderList(orderQuery);
System.out.println("abcdedf");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment