|
|
@@ -137,6 +137,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
@Autowired
|
|
|
private ActivityUserMapperDao activityUserMapperDao;
|
|
|
@Autowired
|
|
|
+ private VipGroupDao vipGroupDao;
|
|
|
+ @Autowired
|
|
|
private CloudTeacherOrderDao cloudTeacherOrderDao;
|
|
|
@Autowired
|
|
|
private StudentService studentService;
|
|
|
@@ -3696,7 +3698,11 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
|
|
|
if (order.getStatus().equals(DealStatusEnum.SUCCESS)) {
|
|
|
- Integer activityUserMapperId = studentPaymentOrderService.activityGive(practiceGroup.getVipGroupActivityId(), order.getUserId(), order.getId(), null, practiceGroup.getId());
|
|
|
+ Integer activityUserMapperId = studentPaymentOrderService.activityGive(practiceGroup.getVipGroupActivityId(),
|
|
|
+ order.getUserId(),
|
|
|
+ order.getId(),
|
|
|
+ null,
|
|
|
+ practiceGroup.getId(),order.getActivityBuyNum());
|
|
|
practiceGroup.setActivityUserMapperId(activityUserMapperId);
|
|
|
courseScheduleDao.updateGroupCourseLock(order.getMusicGroupId(), GroupType.PRACTICE, 0);
|
|
|
} else {
|
|
|
@@ -3920,63 +3926,65 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if(activity.getGiveMemberTime() > 0){
|
|
|
- //会员立即生效
|
|
|
- Integer cloudTeacherType;
|
|
|
- PeriodEnum periodEnum = activity.getGivePeriodEnum();
|
|
|
- Integer cloudTime = activity.getGiveMemberTime();
|
|
|
- CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
- Date addDate = now;
|
|
|
- if (student.getMemberRankSettingId() == null || now.after(student.getMembershipEndTime())) {
|
|
|
- cloudTeacherOrder.setStartTime(now);
|
|
|
- } else {
|
|
|
- addDate = student.getMembershipEndTime();
|
|
|
- cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
|
|
|
- }
|
|
|
- switch (periodEnum){
|
|
|
- case DAY:
|
|
|
- cloudTeacherOrder.setEndTime(DateUtil.addDays(addDate, cloudTime));
|
|
|
- cloudTeacherType = 1;
|
|
|
- break;
|
|
|
- case MONTH:
|
|
|
- cloudTeacherType = 2;
|
|
|
- cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime));
|
|
|
- break;
|
|
|
- case QUARTERLY:
|
|
|
- cloudTeacherType = 2;
|
|
|
- cloudTime = cloudTime * 3;
|
|
|
- cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 3));
|
|
|
- break;
|
|
|
- case YEAR_HALF:
|
|
|
- cloudTime = cloudTime * 6;
|
|
|
- cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 6));
|
|
|
- cloudTeacherType = 2;
|
|
|
- break;
|
|
|
- case YEAR:
|
|
|
- cloudTeacherOrder.setEndTime(DateUtil.addYears(addDate, cloudTime));
|
|
|
- cloudTeacherType = 3;
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new BizException("不支持的周期类型");
|
|
|
- }
|
|
|
- cloudTeacherOrder.setRemark("营销活动赠送会员");
|
|
|
- cloudTeacherOrder.setStatus(2);
|
|
|
- cloudTeacherOrder.setOrderId(order.getId());
|
|
|
- cloudTeacherOrder.setType(cloudTeacherType);
|
|
|
- cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
|
- cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
|
|
|
- cloudTeacherOrder.setStudentId(userId);
|
|
|
- cloudTeacherOrder.setOrganId(order.getOrganId());
|
|
|
- cloudTeacherOrder.setTime(cloudTime);
|
|
|
- cloudTeacherOrderDao.insert(cloudTeacherOrder);
|
|
|
- studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
|
|
|
- activityUserMapper.setGiveMemberFlag(2);
|
|
|
- activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
|
|
|
- }else if(activity.getGiveCourseNum() > 0){
|
|
|
- if(activity.getGiveCourseType().equals("VIP")){
|
|
|
- activityUserMapper.setGiveVipFlag(1);
|
|
|
- }else {
|
|
|
- activityUserMapper.setGivePracticeFlag(1);
|
|
|
+ if(activity.getFullMinusCourseTimes() != -1 && order.getActivityBuyNum() >= activity.getFullMinusCourseTimes()){
|
|
|
+ if(activity.getGiveMemberTime() > 0){
|
|
|
+ //会员立即生效
|
|
|
+ Integer cloudTeacherType;
|
|
|
+ PeriodEnum periodEnum = activity.getGivePeriodEnum();
|
|
|
+ Integer cloudTime = activity.getGiveMemberTime();
|
|
|
+ CloudTeacherOrder cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
+ Date addDate = now;
|
|
|
+ if (student.getMemberRankSettingId() == null || now.after(student.getMembershipEndTime())) {
|
|
|
+ cloudTeacherOrder.setStartTime(now);
|
|
|
+ } else {
|
|
|
+ addDate = student.getMembershipEndTime();
|
|
|
+ cloudTeacherOrder.setStartTime(DateUtil.addDays(addDate, 1));
|
|
|
+ }
|
|
|
+ switch (periodEnum){
|
|
|
+ case DAY:
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addDays(addDate, cloudTime));
|
|
|
+ cloudTeacherType = 1;
|
|
|
+ break;
|
|
|
+ case MONTH:
|
|
|
+ cloudTeacherType = 2;
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime));
|
|
|
+ break;
|
|
|
+ case QUARTERLY:
|
|
|
+ cloudTeacherType = 2;
|
|
|
+ cloudTime = cloudTime * 3;
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 3));
|
|
|
+ break;
|
|
|
+ case YEAR_HALF:
|
|
|
+ cloudTime = cloudTime * 6;
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addMonths(addDate, cloudTime * 6));
|
|
|
+ cloudTeacherType = 2;
|
|
|
+ break;
|
|
|
+ case YEAR:
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addYears(addDate, cloudTime));
|
|
|
+ cloudTeacherType = 3;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("不支持的周期类型");
|
|
|
+ }
|
|
|
+ cloudTeacherOrder.setRemark("营销活动赠送会员");
|
|
|
+ cloudTeacherOrder.setStatus(2);
|
|
|
+ cloudTeacherOrder.setOrderId(order.getId());
|
|
|
+ cloudTeacherOrder.setType(cloudTeacherType);
|
|
|
+ cloudTeacherOrder.setAmount(BigDecimal.ZERO);
|
|
|
+ cloudTeacherOrder.setLevel(activity.getGiveMemberRankId());
|
|
|
+ cloudTeacherOrder.setStudentId(userId);
|
|
|
+ cloudTeacherOrder.setOrganId(order.getOrganId());
|
|
|
+ cloudTeacherOrder.setTime(cloudTime);
|
|
|
+ cloudTeacherOrderDao.insert(cloudTeacherOrder);
|
|
|
+ studentService.updateMemberRank(cloudTeacherOrder,periodEnum);
|
|
|
+ activityUserMapper.setGiveMemberFlag(2);
|
|
|
+ activityUserMapper.setGiveMemberOrderId(cloudTeacherOrder.getId());
|
|
|
+ }else if(activity.getGiveCourseNum() > 0){
|
|
|
+ if(activity.getGiveCourseType().equals("VIP")){
|
|
|
+ activityUserMapper.setGiveVipFlag(1);
|
|
|
+ }else {
|
|
|
+ activityUserMapper.setGivePracticeFlag(1);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
activityUserMapperDao.insert(activityUserMapper);
|