|
@@ -137,7 +137,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private ActivityUserMapperDao activityUserMapperDao;
|
|
private ActivityUserMapperDao activityUserMapperDao;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private VipGroupDao vipGroupDao;
|
|
|
|
|
|
|
+ private MemberFeeSettingDao memberFeeSettingDao;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private CloudTeacherOrderDao cloudTeacherOrderDao;
|
|
private CloudTeacherOrderDao cloudTeacherOrderDao;
|
|
|
@Autowired
|
|
@Autowired
|
|
@@ -3839,18 +3839,17 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
- public void activityOrderCallback(StudentPaymentOrder order) {
|
|
|
|
|
- Integer userId = order.getUserId();
|
|
|
|
|
|
|
+ public void activityOrderCallback(StudentPaymentOrder studentPaymentOrder) {
|
|
|
|
|
+ Integer userId = studentPaymentOrder.getUserId();
|
|
|
|
|
+ StudentPaymentOrder order = studentPaymentOrderDao.lockOrder(studentPaymentOrder.getId());
|
|
|
|
|
+ if(!order.getStatus().equals(DealStatusEnum.ING)){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
//更新订单状态
|
|
//更新订单状态
|
|
|
- int updateCount = studentPaymentOrderService.update(order);
|
|
|
|
|
|
|
+ int updateCount = studentPaymentOrderService.update(studentPaymentOrder);
|
|
|
if (updateCount <= 0) {
|
|
if (updateCount <= 0) {
|
|
|
throw new BizException("订单更新失败");
|
|
throw new BizException("订单更新失败");
|
|
|
}
|
|
}
|
|
|
- StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.lockOrder(order.getId());
|
|
|
|
|
-
|
|
|
|
|
- if(!studentPaymentOrder.getStatus().equals(DealStatusEnum.ING)){
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
|
|
if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
|
|
|
Date now = new Date();
|
|
Date now = new Date();
|
|
|
Student student = studentDao.get(order.getUserId());
|
|
Student student = studentDao.get(order.getUserId());
|
|
@@ -5156,6 +5155,30 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
BigDecimal activityFee = activity.getMarketPrice();
|
|
BigDecimal activityFee = activity.getMarketPrice();
|
|
|
|
|
+ if(groupType == GroupType.MEMBER){
|
|
|
|
|
+ MemberFeeSetting memberFeeSetting = memberFeeSettingDao.findByRankIdAndOrganId(practiceGroupBuyParams.getOrganId(), 1);
|
|
|
|
|
+ PeriodEnum periodEnum = activity.getPeriodEnum();
|
|
|
|
|
+ switch (periodEnum) {
|
|
|
|
|
+ case DAY:
|
|
|
|
|
+ activityFee = memberFeeSetting.getCurrentDayFee().multiply(new BigDecimal(buyNum));
|
|
|
|
|
+ break;
|
|
|
|
|
+ case MONTH:
|
|
|
|
|
+ activityFee = memberFeeSetting.getCurrentMonthFee().multiply(new BigDecimal(buyNum));
|
|
|
|
|
+ break;
|
|
|
|
|
+ case QUARTERLY:
|
|
|
|
|
+ activityFee = memberFeeSetting.getCurrentQuarterlyFee().multiply(new BigDecimal(buyNum));
|
|
|
|
|
+ break;
|
|
|
|
|
+ case YEAR_HALF:
|
|
|
|
|
+ activityFee = memberFeeSetting.getCurrentHalfYearFee().multiply(new BigDecimal(buyNum));
|
|
|
|
|
+ break;
|
|
|
|
|
+ case YEAR:
|
|
|
|
|
+ activityFee = memberFeeSetting.getCurrentYearFee().multiply(new BigDecimal(buyNum));
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ throw new BizException("错误的会员周期");
|
|
|
|
|
+ }
|
|
|
|
|
+ activityFee = activityFee.multiply(activity.getDiscount()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
|
|
+ }
|
|
|
//计算订单金额
|
|
//计算订单金额
|
|
|
StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(practiceGroupBuyParams.getCouponIdList(), activityFee, true);
|
|
StudentPaymentOrder studentPaymentOrder = sysCouponCodeService.use(practiceGroupBuyParams.getCouponIdList(), activityFee, true);
|
|
|
activityFee = studentPaymentOrder.getActualAmount();
|
|
activityFee = studentPaymentOrder.getActualAmount();
|
|
@@ -5197,7 +5220,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
studentPaymentOrder.setUpdateTime(nowDate);
|
|
studentPaymentOrder.setUpdateTime(nowDate);
|
|
|
studentPaymentOrder.setActivityId(activityId);
|
|
studentPaymentOrder.setActivityId(activityId);
|
|
|
studentPaymentOrder.setActivityBuyNum(buyNum);
|
|
studentPaymentOrder.setActivityBuyNum(buyNum);
|
|
|
- studentPaymentOrderService.update(studentPaymentOrder);
|
|
|
|
|
|
|
+ studentPaymentOrderService.insert(studentPaymentOrder);
|
|
|
|
|
|
|
|
studentPaymentOrder.setVersion(0);
|
|
studentPaymentOrder.setVersion(0);
|
|
|
if (activityFee.compareTo(BigDecimal.ZERO) == 0) {
|
|
if (activityFee.compareTo(BigDecimal.ZERO) == 0) {
|
|
@@ -5211,8 +5234,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
return notifyMap;
|
|
return notifyMap;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- String orderSubject = "6.1考级活动";
|
|
|
|
|
- String receiver = "degree";
|
|
|
|
|
|
|
+ String orderSubject = "营销活动";
|
|
|
|
|
+ String receiver = "activity";
|
|
|
|
|
|
|
|
String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
|
|
|
|