Commit d885d279 by chongli

980会员首次充值发券功能。何时发券可配置

parent f6986385
...@@ -70,6 +70,10 @@ public abstract class AbstractNotifyService extends CorePaymentService { ...@@ -70,6 +70,10 @@ public abstract class AbstractNotifyService extends CorePaymentService {
private InsuranceProcessService insuranceProcessService = null; private InsuranceProcessService insuranceProcessService = null;
protected abstract void sendMessage(Order order, int messageId); protected abstract void sendMessage(Order order, int messageId);
protected void executeOrderActive(Order order){
};
/** /**
* 支付、退款回调总方法(统一入口) * 支付、退款回调总方法(统一入口)
...@@ -516,4 +520,6 @@ public abstract class AbstractNotifyService extends CorePaymentService { ...@@ -516,4 +520,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;
...@@ -16,6 +22,8 @@ import com.ctrip.fun.golf.service.market.CommuneInviteActivityService; ...@@ -16,6 +22,8 @@ import com.ctrip.fun.golf.service.market.CommuneInviteActivityService;
import com.ctrip.fun.golf.service.order.CommuneOrderService; import com.ctrip.fun.golf.service.order.CommuneOrderService;
public class CommuneNotifyService extends AbstractNotifyService { public class CommuneNotifyService extends AbstractNotifyService {
private static final String commune_voucher_send = "commune_voucher_send";
private CommuneOrderService communeOrderService = null; private CommuneOrderService communeOrderService = null;
...@@ -26,6 +34,16 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -26,6 +34,16 @@ public class CommuneNotifyService extends AbstractNotifyService {
private CommuneOrderItemDao communeOrderItemDao = null; private CommuneOrderItemDao communeOrderItemDao = null;
private CommuneInviteActivityService communeInviteActivityService = null; private CommuneInviteActivityService communeInviteActivityService = null;
private VoucherRuleDao voucherRuleDao = null;
private VoucherDao voucherDao = null;
private ClientConfigDao clientConfigDao = null;
@Override @Override
protected void doPaySuccess(Order order) { protected void doPaySuccess(Order order) {
...@@ -34,6 +52,8 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -34,6 +52,8 @@ public class CommuneNotifyService extends AbstractNotifyService {
// 更新公社活动推广相关数据 // 更新公社活动推广相关数据
communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId()); communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId());
sendMessage(order, 91); sendMessage(order, 91);
//社员首次充值发放优惠券
this.executeOrderActive(order);
}else{ }else{
getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid()); getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid());
sendMessage(order, 110); sendMessage(order, 110);
...@@ -58,6 +78,25 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -58,6 +78,25 @@ public class CommuneNotifyService extends AbstractNotifyService {
protected void sendMessage(Order order, int messageId) { protected void sendMessage(Order order, int messageId) {
operationMessageService.executeSendMessageOfVipCommune(order, messageId); operationMessageService.executeSendMessageOfVipCommune(order, messageId);
} }
//用于订单支付成功之后,做一些发放优惠券之类的活动
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 = voucherRuleDao.findById(Integer.parseInt(commune_voucher_configs[0]));
voucherDao.sendVoucherToSpecificUsers(voucherRule, order.getContactTel(), voucherRule.getQuantity());
}
} catch (ParseException e) {
e.printStackTrace();
}
}
@Override @Override
protected void doSuccessRefund(Order order) { protected void doSuccessRefund(Order order) {
...@@ -118,4 +157,30 @@ public class CommuneNotifyService extends AbstractNotifyService { ...@@ -118,4 +157,30 @@ public class CommuneNotifyService extends AbstractNotifyService {
this.communeInviteActivityService = communeInviteActivityService; this.communeInviteActivityService = communeInviteActivityService;
} }
public VoucherRuleDao getVoucherRuleDao() {
return voucherRuleDao;
}
public void setVoucherRuleDao(VoucherRuleDao voucherRuleDao) {
this.voucherRuleDao = voucherRuleDao;
}
public VoucherDao getVoucherDao() {
return voucherDao;
}
public void setVoucherDao(VoucherDao voucherDao) {
this.voucherDao = voucherDao;
}
public ClientConfigDao getClientConfigDao() {
return clientConfigDao;
}
public void setClientConfigDao(ClientConfigDao clientConfigDao) {
this.clientConfigDao = clientConfigDao;
}
} }
...@@ -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>
...@@ -106,6 +105,10 @@ ...@@ -106,6 +105,10 @@
<property name="communeInviteActivityDao" ref="communeInviteActivityDao"></property> <property name="communeInviteActivityDao" ref="communeInviteActivityDao"></property>
<property name="communeOrderItemDao" ref="communeOrderItemDao"></property> <property name="communeOrderItemDao" ref="communeOrderItemDao"></property>
<property name="communeInviteActivityService" ref="communeInviteActivityService"></property> <property name="communeInviteActivityService" ref="communeInviteActivityService"></property>
<property name="voucherRuleDao" ref="voucherRuleDao"></property>
<property name="voucherDao" ref="voucherDao"></property>
<property name="clientConfigDao" ref="clientConfigDao"></property>
</bean> </bean>
<bean name="vipmemberNotifyService" class="com.ctrip.fun.golf.service.payment.VipMemberNotifyService"> <bean name="vipmemberNotifyService" class="com.ctrip.fun.golf.service.payment.VipMemberNotifyService">
......
...@@ -5,6 +5,7 @@ import com.ctrip.fun.common.vo.market.RmdCodeReportQuery; ...@@ -5,6 +5,7 @@ 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.user.UserOrderBehaviourStatisticsDao; import com.ctrip.fun.golf.dao.user.UserOrderBehaviourStatisticsDao;
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 +18,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; ...@@ -17,6 +18,7 @@ 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;
...@@ -29,32 +31,13 @@ public class UserOrderBehaviourStatisticsDaoTest{ ...@@ -29,32 +31,13 @@ public class UserOrderBehaviourStatisticsDaoTest{
@Autowired @Autowired
private UserOrderBehaviourStatisticsDao userOrderBehaviourStatisticsDao; private UserOrderBehaviourStatisticsDao userOrderBehaviourStatisticsDao;
@Autowired
private CommuneNotifyService communeNotifyService;
@Test @Test
public void testListNonOrderUser() throws Exception { public void testListNonOrderUser() throws Exception {
UserStatisticsQuery query = new UserStatisticsQuery(); communeNotifyService.executeOrderActive(null);
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();
for(UserOrderBehaviourStatisticsBean bean:ha){
System.out.println(bean.getMobileNo());
}
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