|
@@ -2275,39 +2275,53 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
throw new BizException("非会员乐团不允许退云教练");
|
|
|
}
|
|
|
//删除乐团会员时长
|
|
|
- studentRegistrationDao.cleanMusicMember(userId,null);
|
|
|
+ studentRegistrationDao.cleanMusicMember(userId,musicGroupId);
|
|
|
//退云教练费用
|
|
|
if (returnFeeDto.getMemberFee() != null) {
|
|
|
Date nowDate = new Date();
|
|
|
- List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId);
|
|
|
+ List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId,musicGroupId);
|
|
|
BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
+ Student student = studentDao.get(userId);
|
|
|
if(cloudTeacherOrders.size() > 0){
|
|
|
+ Integer subMemberDay = 0;
|
|
|
List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
+ subMemberDay = subMemberDay + DateUtil.daysBetween(cloudTeacherOrder.getStartTime(), cloudTeacherOrder.getEndTime());
|
|
|
}
|
|
|
}
|
|
|
cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, returnFeeDto.getMemberFee());
|
|
|
+ Date memberEndTime = DateUtil.addDays(studentRegistration.getMembershipEndTime(), subMemberDay);
|
|
|
+ if(memberEndTime.compareTo(nowDate) < 0){
|
|
|
+ //清除学员云教练
|
|
|
+ studentService.cleanMember(userId);
|
|
|
+ //如果有试用会员,不清除
|
|
|
+ if(student.getExperienceMemberRankSettingId() != null){
|
|
|
+ student.setMemberRankSettingId(student.getExperienceMemberRankSettingId());
|
|
|
+ student.setMembershipStartTime(student.getExperienceMembershipStartTime());
|
|
|
+ student.setMembershipEndTime(student.getExperienceMembershipEndTime());
|
|
|
+ studentDao.update(student);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if(student.getExperienceMemberRankSettingId() != null){
|
|
|
+ if(memberEndTime.compareTo(student.getExperienceMembershipEndTime()) > 0){
|
|
|
+ student.setMembershipEndTime(memberEndTime);
|
|
|
+ }else {
|
|
|
+ student.setMembershipEndTime(student.getExperienceMembershipEndTime());
|
|
|
+ }
|
|
|
+ studentDao.update(student);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
if (returnFeeDto.getMemberFee().compareTo(orderAmount) > 0) {
|
|
|
throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
}
|
|
|
amount = amount.add(returnFeeDto.getMemberFee());
|
|
|
- //清除学员云教练
|
|
|
- studentService.cleanMember(userId);
|
|
|
- //如果有试用会员,不清除
|
|
|
- Student student = studentDao.get(userId);
|
|
|
- if(student.getExperienceMemberRankSettingId() != null){
|
|
|
- student.setMemberRankSettingId(student.getExperienceMemberRankSettingId());
|
|
|
- student.setMembershipStartTime(student.getExperienceMembershipStartTime());
|
|
|
- student.setMembershipEndTime(student.getExperienceMembershipEndTime());
|
|
|
- studentDao.update(student);
|
|
|
- }
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
//删除乐团会员时长
|
|
|
studentRegistrationDao.cleanMusicMember(userId,musicGroupId);
|
|
|
}
|
|
@@ -2597,37 +2611,51 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
|
|
|
throw new BizException("非会员乐团不允许退云教练");
|
|
|
}
|
|
|
//删除乐团会员时长
|
|
|
- studentRegistrationDao.cleanMusicMember(userId,null);
|
|
|
+ studentRegistrationDao.cleanMusicMember(userId,musicGroupId);
|
|
|
//退云教练费用
|
|
|
if (cloudTeacherAmount != null) {
|
|
|
Date nowDate = new Date();
|
|
|
- List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId);
|
|
|
+ List<CloudTeacherOrder> cloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrder(userId,musicGroupId);
|
|
|
BigDecimal orderAmount = BigDecimal.ZERO;
|
|
|
+ Student student = studentDao.get(userId);
|
|
|
if(cloudTeacherOrders.size() > 0){
|
|
|
+ Integer subMemberDay = 0;
|
|
|
List<CloudTeacherOrder> quitCloudTeacherOrders = new ArrayList<>();
|
|
|
for (CloudTeacherOrder cloudTeacherOrder : cloudTeacherOrders) {
|
|
|
if (cloudTeacherOrder.getEndTime() == null || DateUtil.stringToDate(DateUtil.format(cloudTeacherOrder.getEndTime(),DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT).compareTo(
|
|
|
DateUtil.stringToDate(DateUtil.format(nowDate,DateUtil.ISO_EXPANDED_DATE_FORMAT),DateUtil.ISO_EXPANDED_DATE_FORMAT)) >= 0) {
|
|
|
quitCloudTeacherOrders.add(cloudTeacherOrder);
|
|
|
orderAmount = orderAmount.add(cloudTeacherOrder.getAmount());
|
|
|
+ subMemberDay = subMemberDay + DateUtil.daysBetween(cloudTeacherOrder.getStartTime(), cloudTeacherOrder.getEndTime());
|
|
|
}
|
|
|
}
|
|
|
cloudTeacherOrderService.quitCloudTeacherOrders(quitCloudTeacherOrders, cloudTeacherAmount);
|
|
|
+ Date memberEndTime = DateUtil.addDays(studentRegistration.getMembershipEndTime(), subMemberDay);
|
|
|
+ if(memberEndTime.compareTo(nowDate) < 0){
|
|
|
+ //清除学员云教练
|
|
|
+ studentService.cleanMember(userId);
|
|
|
+ //如果有试用会员,不清除
|
|
|
+ if(student.getExperienceMemberRankSettingId() != null){
|
|
|
+ student.setMemberRankSettingId(student.getExperienceMemberRankSettingId());
|
|
|
+ student.setMembershipStartTime(student.getExperienceMembershipStartTime());
|
|
|
+ student.setMembershipEndTime(student.getExperienceMembershipEndTime());
|
|
|
+ studentDao.update(student);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if(student.getExperienceMemberRankSettingId() != null){
|
|
|
+ if(memberEndTime.compareTo(student.getExperienceMembershipEndTime()) > 0){
|
|
|
+ student.setMembershipEndTime(memberEndTime);
|
|
|
+ }else {
|
|
|
+ student.setMembershipEndTime(student.getExperienceMembershipEndTime());
|
|
|
+ }
|
|
|
+ studentDao.update(student);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
if (cloudTeacherAmount.compareTo(orderAmount) > 0) {
|
|
|
throw new BizException("云教练退费金额不能大于原始订单金额");
|
|
|
}
|
|
|
amount = amount.add(cloudTeacherAmount);
|
|
|
- //清除学员云教练
|
|
|
- studentService.cleanMember(userId);
|
|
|
- //如果有试用会员,不清除
|
|
|
- Student student = studentDao.get(userId);
|
|
|
- if(student.getExperienceMemberRankSettingId() != null){
|
|
|
- student.setMemberRankSettingId(student.getExperienceMemberRankSettingId());
|
|
|
- student.setMembershipStartTime(student.getExperienceMembershipStartTime());
|
|
|
- student.setMembershipEndTime(student.getExperienceMembershipEndTime());
|
|
|
- studentDao.update(student);
|
|
|
- }
|
|
|
}
|
|
|
}else {
|
|
|
//删除乐团会员时长
|