|
@@ -215,6 +215,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
|
|
private MusicGroupSchoolTermStudentCourseDetailDao musicGroupSchoolTermStudentCourseDetailDao;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private StudentService studentService;
|
|
|
|
|
|
private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
|
|
private SimpleDateFormat sdf_ymd = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
@@ -2319,6 +2322,28 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
studentPaymentOrderService.insert(studentPaymentOrder);
|
|
calenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
calenderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
musicGroupPaymentCalenderDetailDao.update(calenderDetail);
|
|
musicGroupPaymentCalenderDetailDao.update(calenderDetail);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ CloudTeacherOrder cloudTeacherOrder = null;
|
|
|
|
+
|
|
|
|
+ //云教练/云教练+
|
|
|
|
+ if (calender.getMemberRankSettingId() != null) {
|
|
|
|
+
|
|
|
|
+ //创建订单
|
|
|
|
+ cloudTeacherOrder = new CloudTeacherOrder();
|
|
|
|
+
|
|
|
|
+ cloudTeacherOrder.setType(2);//月
|
|
|
|
+ cloudTeacherOrder.setTime(calender.getMemberValidDate());
|
|
|
|
+ cloudTeacherOrder.setOrganId(organId);
|
|
|
|
+ cloudTeacherOrder.setStudentId(studentRegistration.getUserId());
|
|
|
|
+ cloudTeacherOrder.setLevel(calender.getMemberRankSettingId());
|
|
|
|
+ cloudTeacherOrder.setAmount(calender.getMemberPaymentAmount());
|
|
|
|
+ cloudTeacherOrder.setStatus(0);
|
|
|
|
+ cloudTeacherOrder.setOrderId(studentPaymentOrder.getId());
|
|
|
|
+ cloudTeacherOrder.setCreateTime(date);
|
|
|
|
+ cloudTeacherOrder.setUpdateTime(date);
|
|
|
|
+ cloudTeacherOrderService.insert(cloudTeacherOrder);
|
|
|
|
+ }
|
|
|
|
|
|
/*ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
|
|
/*ArrayList<StudentPaymentOrderDetail> studentPaymentOrderDetailList = new ArrayList<>();
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
|
|
StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
|
|
@@ -2430,16 +2455,77 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
studentRegistration.setPaymentStatus(YES);
|
|
studentRegistration.setPaymentStatus(YES);
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
|
|
studentRegistrationDao.update(studentRegistration);
|
|
studentRegistrationDao.update(studentRegistration);
|
|
-
|
|
|
|
|
|
+
|
|
//统计变更学员数
|
|
//统计变更学员数
|
|
groupEventSource.musicGroupStudentChangeEvent(studentRegistration.getMusicGroupId(), StudentMusicGroupStatusEnum.NORMAL, new ArrayList<>(Arrays.asList(userId)));
|
|
groupEventSource.musicGroupStudentChangeEvent(studentRegistration.getMusicGroupId(), StudentMusicGroupStatusEnum.NORMAL, new ArrayList<>(Arrays.asList(userId)));
|
|
}
|
|
}
|
|
- /*if (musicGroupPaymentCalender.getType().equals(MusicGroupPaymentCalender.FeeType.ONLINE)) {
|
|
|
|
- Integer getRemainNetworkClassTimes = musicGroupStudentFee.getRemainNetworkClassTimes() == null ? 0 : musicGroupStudentFee.getRemainNetworkClassTimes();
|
|
|
|
- musicGroupStudentFee.setRemainNetworkClassTimes(getRemainNetworkClassTimes + 1);
|
|
|
|
- }*/
|
|
|
|
-// musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(musicGroupId, musicGroupStudentFee.getNextPaymentDate(), musicGroupStudentFee));
|
|
|
|
|
|
|
|
|
|
+ List<StudentPaymentOrderDetail> paymentOrderDetails = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ // 查询会员订单信息
|
|
|
|
+ CloudTeacherOrder cloudTeacherOrder = cloudTeacherOrderService.queryByOrderId(studentPaymentOrder.getId());
|
|
|
|
+ if (cloudTeacherOrder != null) {
|
|
|
|
+ Student student = studentService.getLocked(userId);
|
|
|
|
+ if (student == null) {
|
|
|
|
+ throw new BizException("学员信息不存在");
|
|
|
|
+ }
|
|
|
|
+ cloudTeacherOrder.setStatus(2);
|
|
|
|
+ cloudTeacherOrder.setUpdateTime(date);
|
|
|
|
+
|
|
|
|
+ PeriodEnum periodEnum = PeriodEnum.MONTH;
|
|
|
|
+ switch (cloudTeacherOrder.getType()) {
|
|
|
|
+ case 1:
|
|
|
|
+ periodEnum = PeriodEnum.DAY;
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ periodEnum = PeriodEnum.MONTH;
|
|
|
|
+ break;
|
|
|
|
+ case 3:
|
|
|
|
+ periodEnum = PeriodEnum.YEAR;
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (student.getMemberRankSettingId() == null || date.after(student.getMembershipEndTime())) {
|
|
|
|
+ cloudTeacherOrder.setStartTime(date);
|
|
|
|
+ if (cloudTeacherOrder.getType() == 1) {
|
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addDays(date, cloudTeacherOrder.getTime()));
|
|
|
|
+ } else if (cloudTeacherOrder.getType() == 2) {
|
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addMonths(date, cloudTeacherOrder.getTime()));
|
|
|
|
+ } else if (cloudTeacherOrder.getType() == 3) {
|
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addYears(date, cloudTeacherOrder.getTime()));
|
|
|
|
+ } else {
|
|
|
|
+ throw new BizException("不支持的周期类型");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ cloudTeacherOrder.setStartTime(DateUtil.addDays(student.getMembershipEndTime(), 1));
|
|
|
|
+ if (cloudTeacherOrder.getType() == 1) {
|
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addDays(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
|
|
|
|
+ } else if (cloudTeacherOrder.getType() == 2) {
|
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addMonths(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
|
|
|
|
+ } else if (cloudTeacherOrder.getType() == 3) {
|
|
|
|
+ cloudTeacherOrder.setEndTime(DateUtil.addYears(student.getMembershipEndTime(), cloudTeacherOrder.getTime()));
|
|
|
|
+ } else {
|
|
|
|
+ throw new BizException("不支持的周期类型");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ cloudTeacherOrderService.update(cloudTeacherOrder);
|
|
|
|
+ // 添加会员有效时长
|
|
|
|
+ studentService.updateMemberRank(userId, Integer.parseInt(studentPaymentOrder.getMusicGroupId()), periodEnum, cloudTeacherOrder.getTime());
|
|
|
|
+
|
|
|
|
+ //添加订单明细
|
|
|
|
+ StudentPaymentOrderDetail studentPaymentOrderDetail = new StudentPaymentOrderDetail();
|
|
|
|
+ studentPaymentOrderDetail.setType(OrderDetailTypeEnum.CLOUD_TEACHER);
|
|
|
|
+ studentPaymentOrderDetail.setPrice(cloudTeacherOrder.getAmount());
|
|
|
|
+ studentPaymentOrderDetail.setCreateTime(date);
|
|
|
|
+ studentPaymentOrderDetail.setUpdateTime(date);
|
|
|
|
+ studentPaymentOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
|
|
|
|
+
|
|
|
|
+ paymentOrderDetails.add(studentPaymentOrderDetail);
|
|
|
|
+ }
|
|
|
|
|
|
//插入交易明细
|
|
//插入交易明细
|
|
SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
|
|
SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
|
|
@@ -2460,7 +2546,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
|
|
sysUserCashAccountDetailService.insert(rechargeDetail);
|
|
sysUserCashAccountDetailService.insert(rechargeDetail);
|
|
|
|
|
|
- List<StudentPaymentOrderDetail> paymentOrderDetails = new ArrayList<>();
|
|
|
|
//跨团合班没有settings
|
|
//跨团合班没有settings
|
|
if(paymentCalender.getPaymentType() == PaymentType.SPAN_GROUP_CLASS_ADJUST){
|
|
if(paymentCalender.getPaymentType() == PaymentType.SPAN_GROUP_CLASS_ADJUST){
|
|
List<MusicGroupPaymentCalenderStudentDetail> studentDetails = musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(paymentCalender.getBatchNo(), userId);
|
|
List<MusicGroupPaymentCalenderStudentDetail> studentDetails = musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(paymentCalender.getBatchNo(), userId);
|