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
return null;
}
//执行一营销活动的代码
protected void executeOrderActive(Order order){
};
/**
* 判断订单是否可删除
......
......@@ -4,13 +4,16 @@
package com.ctrip.fun.golf.service.order;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.Response;
......@@ -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.UserCommuneOrderStatusEnum;
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.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.Order;
import com.ctrip.fun.golf.domain.user.UserExt;
......@@ -48,6 +54,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
private static final String COMMUNE_ORDER_NAME = "公社社员订单";
private static final String COMMUNE_RENEW_ORDER_NAME = "续费社员订单";
private static final String commune_voucher_send = "commune_voucher_send";//社员发券配置key
private OperationMessageService operationMessageService;
......@@ -61,6 +68,12 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
private String communeBaseNotifyUrl;
private ClientConfigDao clientConfigDao = null;
/**
* 980
*/
......@@ -118,6 +131,24 @@ public class CommuneOrderService extends AbstractOrderService<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
protected BigDecimal getTotalAmount(CommuneOrderBean abstractOrderBean) {
......@@ -199,6 +230,8 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
getUserExtDao().setUserExtVipGradeCommune(order.getUid());
operationMessageService.executeSendMessageOfVipCommune(order, 91);
communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId());
//首充会员发放优惠券
this.executeOrderActive(order);
}else{
getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid());
operationMessageService.executeSendMessageOfVipCommune(order, 110);
......@@ -486,4 +519,10 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
// TODO Auto-generated method stub
}
public ClientConfigDao getClientConfigDao() {
return clientConfigDao;
}
public void setClientConfigDao(ClientConfigDao clientConfigDao) {
this.clientConfigDao = clientConfigDao;
}
}
......@@ -70,6 +70,8 @@ public abstract class AbstractNotifyService extends CorePaymentService {
private InsuranceProcessService insuranceProcessService = null;
protected abstract void sendMessage(Order order, int messageId);
/**
* 支付、退款回调总方法(统一入口)
......@@ -516,4 +518,6 @@ public abstract class AbstractNotifyService extends CorePaymentService {
this.insuranceProcessService = insuranceProcessService;
}
}
......@@ -3,12 +3,18 @@
*/
package com.ctrip.fun.golf.service.payment;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
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.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.Order;
import com.ctrip.fun.golf.service.basic.OperationMessageService;
......@@ -16,6 +22,8 @@ import com.ctrip.fun.golf.service.market.CommuneInviteActivityService;
import com.ctrip.fun.golf.service.order.CommuneOrderService;
public class CommuneNotifyService extends AbstractNotifyService {
private CommuneOrderService communeOrderService = null;
......@@ -26,6 +34,12 @@ public class CommuneNotifyService extends AbstractNotifyService {
private CommuneOrderItemDao communeOrderItemDao = null;
private CommuneInviteActivityService communeInviteActivityService = null;
@Override
protected void doPaySuccess(Order order) {
......@@ -34,6 +48,8 @@ public class CommuneNotifyService extends AbstractNotifyService {
// 更新公社活动推广相关数据
communeInviteActivityService.updateCommuneInviteActivityData(order.getOrderId());
sendMessage(order, 91);
//社员首次充值发放优惠券
communeOrderService.executeOrderActive(order);
}else{
getUserExtDao().setUserExtVipGradeRenewCommune(order.getUid());
sendMessage(order, 110);
......@@ -58,6 +74,7 @@ public class CommuneNotifyService extends AbstractNotifyService {
protected void sendMessage(Order order, int messageId) {
operationMessageService.executeSendMessageOfVipCommune(order, messageId);
}
@Override
protected void doSuccessRefund(Order order) {
......@@ -117,5 +134,4 @@ public class CommuneNotifyService extends AbstractNotifyService {
public void setCommuneInviteActivityService(CommuneInviteActivityService communeInviteActivityService) {
this.communeInviteActivityService = communeInviteActivityService;
}
}
......@@ -193,8 +193,9 @@
<property name="jobUtil" ref="jobUtil"></property>
<property name="overTimeMinute" value="${payment.longOvertime}"></property>
<property name="communeBaseNotifyUrl" value="${payment.communeBaseNotifyUrl}"></property>
<property name="COMMUNE_AMOUNT" value="${communeAmount}"></property>
<property name="COMMUNE_AMOUNT2" value="${communeAmount2}"></property>
<property name="COMMUNE_AMOUNT" value="${communeAmount}"></property>
<property name="COMMUNE_AMOUNT2" value="${communeAmount2}"></property>
<property name="clientConfigDao" ref="clientConfigDao"></property>
</bean>
<bean name="vipmemberOrderService" class="com.ctrip.fun.golf.service.order.VipMemberOrderService" parent="abstractOrderService">
......
......@@ -96,7 +96,6 @@
<property name="publicKey" value="${payment.publicKey}"></property>
<property name="userExtDao" ref="userExtDao"></property>
<property name="userService" ref="userService"></property>
<property name="voucherDao" ref="voucherDao"></property>
<property name="voucherService" ref="voucherService"></property>
<property name="insuranceProcessService" ref="insuranceProcessService"></property>
<property name="operationMessageService" ref="operationMessageService"></property>
......
......@@ -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.UserOrderBehaviourStatisticsBean;
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.service.order.CommuneOrderService;
import com.ctrip.fun.golf.service.payment.CommuneNotifyService;
import com.ctrip.fun.golf.vo.PagedEntityBean;
import org.junit.Test;
......@@ -17,6 +20,9 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
......@@ -29,32 +35,16 @@ public class UserOrderBehaviourStatisticsDaoTest{
@Autowired
private UserOrderBehaviourStatisticsDao userOrderBehaviourStatisticsDao;
@Autowired
private CommuneOrderService communeOrderService;
@Autowired
private OrderDao orderDao;
@Test
public void testListNonOrderUser() throws Exception {
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();
for(UserOrderBehaviourStatisticsBean bean:ha){
System.out.println(bean.getMobileNo());
}
System.out.println(list.getResult());
communeOrderService.executeOrderActive(orderDao.getOrderByID(1317857115));
}
@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