Commit d44fc9f6 by Huang Linyu

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

parents cd30ee95 771045f4
...@@ -430,6 +430,10 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex ...@@ -430,6 +430,10 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
return null; return null;
} }
//执行一营销活动的代码
protected void executeOrderActive(Order order){
};
/** /**
* 判断订单是否可删除 * 判断订单是否可删除
......
...@@ -4,13 +4,16 @@ ...@@ -4,13 +4,16 @@
package com.ctrip.fun.golf.service.order; package com.ctrip.fun.golf.service.order;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
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;
import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.core.util.StringUtils; import com.ctrip.fun.common.core.util.StringUtils;
import com.ctrip.fun.common.vo.PagedResponseBean; import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Response; import com.ctrip.fun.common.vo.Response;
...@@ -28,8 +31,11 @@ import com.ctrip.fun.common.vo.order.OrderStatusEnum; ...@@ -28,8 +31,11 @@ import com.ctrip.fun.common.vo.order.OrderStatusEnum;
import com.ctrip.fun.common.vo.order.PlaceOrderResponseBean; import com.ctrip.fun.common.vo.order.PlaceOrderResponseBean;
import com.ctrip.fun.common.vo.order.UserCommuneOrderStatusEnum; import com.ctrip.fun.common.vo.order.UserCommuneOrderStatusEnum;
import com.ctrip.fun.common.vo.product.ProductPaymentTypeEnum; import com.ctrip.fun.common.vo.product.ProductPaymentTypeEnum;
import com.ctrip.fun.golf.dao.client.ClientConfigDao;
import com.ctrip.fun.golf.dao.order.CommuneOrderItemDao; import com.ctrip.fun.golf.dao.order.CommuneOrderItemDao;
import com.ctrip.fun.golf.domain.basic.Voucher; import com.ctrip.fun.golf.domain.basic.Voucher;
import com.ctrip.fun.golf.domain.basic.VoucherRule;
import com.ctrip.fun.golf.domain.client.ClientConfig;
import com.ctrip.fun.golf.domain.order.CommuneOrderItem; import com.ctrip.fun.golf.domain.order.CommuneOrderItem;
import com.ctrip.fun.golf.domain.order.Order; import com.ctrip.fun.golf.domain.order.Order;
import com.ctrip.fun.golf.domain.user.UserExt; import com.ctrip.fun.golf.domain.user.UserExt;
...@@ -48,6 +54,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -48,6 +54,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
private static final String COMMUNE_ORDER_NAME = "公社社员订单"; private static final String COMMUNE_ORDER_NAME = "公社社员订单";
private static final String COMMUNE_RENEW_ORDER_NAME = "续费社员订单"; private static final String COMMUNE_RENEW_ORDER_NAME = "续费社员订单";
private static final String commune_voucher_send = "commune_voucher_send";//社员发券配置key
private OperationMessageService operationMessageService; private OperationMessageService operationMessageService;
...@@ -61,6 +68,12 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -61,6 +68,12 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
private String communeBaseNotifyUrl; private String communeBaseNotifyUrl;
private ClientConfigDao clientConfigDao = null;
/** /**
* 980 * 980
*/ */
...@@ -118,6 +131,24 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -118,6 +131,24 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
} }
checkOrderItem(communeOrderBean); checkOrderItem(communeOrderBean);
} }
//用于订单支付成功之后,做一些发放优惠券之类的活动
public void executeOrderActive(Order order){
ClientConfig clientConfig = clientConfigDao.getByType(commune_voucher_send);
//社员订单赠送优惠券配置:431_sendBeginTime_sendEndTime(规则id_开始发送时间_结束发送方式)
String commune_voucher = clientConfig.getMessage();
String[] commune_voucher_configs = commune_voucher.split("_");
try {
Date sendBeginTime = DateUtil.parseDateTime(commune_voucher_configs[1]);
Date sendEndTime = DateUtil.parseDateTime(commune_voucher_configs[2]);
Date now = new Date();
if(sendBeginTime.getTime()<now.getTime()&&now.getTime()<sendEndTime.getTime()){
VoucherRule voucherRule = this.getVoucherRuleDao().findById(Integer.parseInt(commune_voucher_configs[0]));
this.getVoucherDao().sendVoucherToSpecificUsers(voucherRule, order.getUid(), voucherRule.getQuantity());
}
} catch (ParseException e) {
e.printStackTrace();
}
}
@Override @Override
protected BigDecimal getTotalAmount(CommuneOrderBean abstractOrderBean) { protected BigDecimal getTotalAmount(CommuneOrderBean abstractOrderBean) {
...@@ -199,6 +230,8 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -199,6 +230,8 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
getUserExtDao().setUserExtVipGradeCommune(order.getUid()); getUserExtDao().setUserExtVipGradeCommune(order.getUid());
operationMessageService.executeSendMessageOfVipCommune(order, 91); operationMessageService.executeSendMessageOfVipCommune(order, 91);
communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId()); communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId());
//首充会员发放优惠券
this.executeOrderActive(order);
}else{ }else{
getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid()); getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid());
operationMessageService.executeSendMessageOfVipCommune(order, 110); operationMessageService.executeSendMessageOfVipCommune(order, 110);
...@@ -486,4 +519,10 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean, ...@@ -486,4 +519,10 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
public ClientConfigDao getClientConfigDao() {
return clientConfigDao;
}
public void setClientConfigDao(ClientConfigDao clientConfigDao) {
this.clientConfigDao = clientConfigDao;
}
} }
...@@ -71,6 +71,8 @@ public abstract class AbstractNotifyService extends CorePaymentService { ...@@ -71,6 +71,8 @@ public abstract class AbstractNotifyService extends CorePaymentService {
protected abstract void sendMessage(Order order, int messageId); protected abstract void sendMessage(Order order, int messageId);
/** /**
* 支付、退款回调总方法(统一入口) * 支付、退款回调总方法(统一入口)
*/ */
...@@ -516,4 +518,6 @@ public abstract class AbstractNotifyService extends CorePaymentService { ...@@ -516,4 +518,6 @@ public abstract class AbstractNotifyService extends CorePaymentService {
this.insuranceProcessService = insuranceProcessService; this.insuranceProcessService = insuranceProcessService;
} }
} }
...@@ -3,12 +3,18 @@ ...@@ -3,12 +3,18 @@
*/ */
package com.ctrip.fun.golf.service.payment; package com.ctrip.fun.golf.service.payment;
import java.text.ParseException;
import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.golf.dao.basic.VoucherDao;
import com.ctrip.fun.golf.dao.basic.VoucherRuleDao;
import com.ctrip.fun.golf.dao.client.ClientConfigDao;
import com.ctrip.fun.golf.dao.market.CommuneInviteActivityDao; import com.ctrip.fun.golf.dao.market.CommuneInviteActivityDao;
import com.ctrip.fun.golf.dao.order.CommuneOrderItemDao; import com.ctrip.fun.golf.dao.order.CommuneOrderItemDao;
import com.ctrip.fun.golf.domain.basic.VoucherRule;
import com.ctrip.fun.golf.domain.client.ClientConfig;
import com.ctrip.fun.golf.domain.order.CommuneOrderItem; import com.ctrip.fun.golf.domain.order.CommuneOrderItem;
import com.ctrip.fun.golf.domain.order.Order; import com.ctrip.fun.golf.domain.order.Order;
import com.ctrip.fun.golf.service.basic.OperationMessageService; import com.ctrip.fun.golf.service.basic.OperationMessageService;
...@@ -17,6 +23,8 @@ import com.ctrip.fun.golf.service.order.CommuneOrderService; ...@@ -17,6 +23,8 @@ import com.ctrip.fun.golf.service.order.CommuneOrderService;
public class CommuneNotifyService extends AbstractNotifyService { public class CommuneNotifyService extends AbstractNotifyService {
private CommuneOrderService communeOrderService = null; private CommuneOrderService communeOrderService = null;
private OperationMessageService operationMessageService; private OperationMessageService operationMessageService;
...@@ -27,6 +35,12 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -27,6 +35,12 @@ public class CommuneNotifyService extends AbstractNotifyService {
private CommuneInviteActivityService communeInviteActivityService = null; private CommuneInviteActivityService communeInviteActivityService = null;
@Override @Override
protected void doPaySuccess(Order order) { protected void doPaySuccess(Order order) {
if(getCommuneYears(order.getOrderId()) <= 0){ if(getCommuneYears(order.getOrderId()) <= 0){
...@@ -34,6 +48,8 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -34,6 +48,8 @@ public class CommuneNotifyService extends AbstractNotifyService {
// 更新公社活动推广相关数据 // 更新公社活动推广相关数据
communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId()); communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId());
sendMessage(order, 91); sendMessage(order, 91);
//社员首次充值发放优惠券
communeOrderService.executeOrderActive(order);
}else{ }else{
getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid()); getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid());
sendMessage(order, 110); sendMessage(order, 110);
...@@ -59,6 +75,7 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -59,6 +75,7 @@ public class CommuneNotifyService extends AbstractNotifyService {
operationMessageService.executeSendMessageOfVipCommune(order, messageId); operationMessageService.executeSendMessageOfVipCommune(order, messageId);
} }
@Override @Override
protected void doSuccessRefund(Order order) { protected void doSuccessRefund(Order order) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
...@@ -117,5 +134,4 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -117,5 +134,4 @@ public class CommuneNotifyService extends AbstractNotifyService {
public void setCommuneInviteActivityService(CommuneInviteActivityService communeInviteActivityService) { public void setCommuneInviteActivityService(CommuneInviteActivityService communeInviteActivityService) {
this.communeInviteActivityService = communeInviteActivityService; this.communeInviteActivityService = communeInviteActivityService;
} }
} }
...@@ -195,6 +195,7 @@ ...@@ -195,6 +195,7 @@
<property name="communeBaseNotifyUrl" value="${payment.communeBaseNotifyUrl}"></property> <property name="communeBaseNotifyUrl" value="${payment.communeBaseNotifyUrl}"></property>
<property name="COMMUNE_AMOUNT" value="${communeAmount}"></property> <property name="COMMUNE_AMOUNT" value="${communeAmount}"></property>
<property name="COMMUNE_AMOUNT2" value="${communeAmount2}"></property> <property name="COMMUNE_AMOUNT2" value="${communeAmount2}"></property>
<property name="clientConfigDao" ref="clientConfigDao"></property>
</bean> </bean>
<bean name="vipmemberOrderService" class="com.ctrip.fun.golf.service.order.VipMemberOrderService" parent="abstractOrderService"> <bean name="vipmemberOrderService" class="com.ctrip.fun.golf.service.order.VipMemberOrderService" parent="abstractOrderService">
......
...@@ -96,7 +96,6 @@ ...@@ -96,7 +96,6 @@
<property name="publicKey" value="${payment.publicKey}"></property> <property name="publicKey" value="${payment.publicKey}"></property>
<property name="userExtDao" ref="userExtDao"></property> <property name="userExtDao" ref="userExtDao"></property>
<property name="userService" ref="userService"></property> <property name="userService" ref="userService"></property>
<property name="voucherDao" ref="voucherDao"></property>
<property name="voucherService" ref="voucherService"></property> <property name="voucherService" ref="voucherService"></property>
<property name="insuranceProcessService" ref="insuranceProcessService"></property> <property name="insuranceProcessService" ref="insuranceProcessService"></property>
<property name="operationMessageService" ref="operationMessageService"></property> <property name="operationMessageService" ref="operationMessageService"></property>
......
...@@ -4,7 +4,10 @@ import com.ctrip.fun.common.core.util.DateUtil; ...@@ -4,7 +4,10 @@ import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.vo.market.RmdCodeReportQuery; import com.ctrip.fun.common.vo.market.RmdCodeReportQuery;
import com.ctrip.fun.common.vo.market.UserOrderBehaviourStatisticsBean; import com.ctrip.fun.common.vo.market.UserOrderBehaviourStatisticsBean;
import com.ctrip.fun.common.vo.statistics.query.UserStatisticsQuery; import com.ctrip.fun.common.vo.statistics.query.UserStatisticsQuery;
import com.ctrip.fun.golf.dao.order.OrderDao;
import com.ctrip.fun.golf.dao.user.UserOrderBehaviourStatisticsDao; import com.ctrip.fun.golf.dao.user.UserOrderBehaviourStatisticsDao;
import com.ctrip.fun.golf.service.order.CommuneOrderService;
import com.ctrip.fun.golf.service.payment.CommuneNotifyService;
import com.ctrip.fun.golf.vo.PagedEntityBean; import com.ctrip.fun.golf.vo.PagedEntityBean;
import org.junit.Test; import org.junit.Test;
...@@ -17,6 +20,9 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; ...@@ -17,6 +20,9 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -30,31 +36,15 @@ public class UserOrderBehaviourStatisticsDaoTest{ ...@@ -30,31 +36,15 @@ public class UserOrderBehaviourStatisticsDaoTest{
@Autowired @Autowired
private UserOrderBehaviourStatisticsDao userOrderBehaviourStatisticsDao; private UserOrderBehaviourStatisticsDao userOrderBehaviourStatisticsDao;
@Test @Autowired
public void testListNonOrderUser() throws Exception { private CommuneOrderService communeOrderService;
UserStatisticsQuery query = new UserStatisticsQuery();
DateUtil.parseDate("2016-02-05");
query.setSearchDateStart(DateUtil.parseDate("2016-02-05"));
query.setSearchDateEnd(DateUtil.parseDate("2019-02-05"));
query.setDayOfWeek(1);
query.setCourseName("上海天马乡村高尔夫");
query.setPagerOffset(1);
query.setPagerPerPage(10);
PagedEntityBean<UserOrderBehaviourStatisticsBean> list = userOrderBehaviourStatisticsDao.listValidOrderInfo(null);
List<UserOrderBehaviourStatisticsBean> ha = (List<UserOrderBehaviourStatisticsBean>) list.getResult(); @Autowired
private OrderDao orderDao;
for(UserOrderBehaviourStatisticsBean bean:ha){ @Test
System.out.println(bean.getMobileNo()); public void testListNonOrderUser() throws Exception {
} communeOrderService.executeOrderActive(orderDao.getOrderByID(1317857115));
System.out.println(list.getResult());
} }
@Test @Test
......
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