|
@@ -975,16 +975,146 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
normalStudentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(GroupType.VIP, vipGroup.getId().toString());
|
|
|
}
|
|
|
|
|
|
- if(vipGroupCategory.getMusicTheory()){
|
|
|
- vipGroup.setTotalPrice(new BigDecimal(0));
|
|
|
- for (VipGroupStudentCoursePrice vscp : ((VipGroupApplyBaseInfoDto)vipGroup).getVipGroupStudentCoursePrices()) {
|
|
|
- if(Objects.isNull(vscp.getOnlineClassesUnitPrice())||Objects.isNull(vscp.getOfflineClassesUnitPrice())){
|
|
|
- throw new BizException("请设置课程单价");
|
|
|
+ if(Objects.nonNull(vipGroupActivity)){
|
|
|
+ VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
|
|
|
+
|
|
|
+ if(Objects.isNull(vipGroupSalarySettlementDto)){
|
|
|
+ throw new BizException("课酬结算方案错误");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal offlineClassNum=new BigDecimal(vipGroup.getOfflineClassesNum());
|
|
|
+ BigDecimal onlineClassNum=new BigDecimal(vipGroup.getOnlineClassesNum());
|
|
|
+ BigDecimal onlineClassesUnitPrice=vipGroup.getOnlineClassesUnitPrice();
|
|
|
+ if(Objects.isNull(onlineClassesUnitPrice)){
|
|
|
+ throw new BizException("课程单价异常");
|
|
|
+ }
|
|
|
+ BigDecimal onlineVipGroupCharge = onlineClassesUnitPrice.multiply(onlineClassNum);
|
|
|
+
|
|
|
+ BigDecimal offlineClassesUnitPrice=vipGroup.getOfflineClassesUnitPrice();
|
|
|
+ if(Objects.isNull(offlineClassesUnitPrice)){
|
|
|
+ throw new BizException("课程单价异常");
|
|
|
+ }
|
|
|
+ BigDecimal offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
|
|
|
+ BigDecimal totalClassNum=offlineClassNum.add(onlineClassNum);
|
|
|
+ BigDecimal teacherOnlineSalary=null,teacherOfflineSalary=null;
|
|
|
+
|
|
|
+ //课程购买费用计算
|
|
|
+ BigDecimal totalPrice;
|
|
|
+ switch (vipGroupActivity.getType()){
|
|
|
+ case BASE_ACTIVITY:
|
|
|
+ totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
|
+ break;
|
|
|
+ case DISCOUNT:
|
|
|
+ BigDecimal discount=new BigDecimal(vipGroupActivity.getAttribute1());
|
|
|
+ totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
|
+ totalPrice=totalPrice.multiply(discount).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
+ break;
|
|
|
+ case GIVE_CLASS:
|
|
|
+ if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))<0){
|
|
|
+
|
|
|
+ }else if(vipGroup.getGiveTeachMode()==TeachModeEnum.OFFLINE){
|
|
|
+ if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
|
|
|
+ offlineClassNum=offlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
|
|
|
+ }
|
|
|
+ offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
|
|
|
+ }else if(vipGroup.getGiveTeachMode()==TeachModeEnum.ONLINE){
|
|
|
+ if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
|
|
|
+ onlineClassNum=onlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
|
|
|
+ }
|
|
|
+ onlineVipGroupCharge = onlineClassesUnitPrice.multiply(onlineClassNum);
|
|
|
+ }else{
|
|
|
+ throw new BizException("请指定赠送课程类型!");
|
|
|
+ }
|
|
|
+ totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("活动类型错误!");
|
|
|
+ }
|
|
|
+
|
|
|
+ results.put("totalPrice",totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
|
|
|
+
|
|
|
+ if(vipGroup instanceof VipGroupApplyBaseInfoDto && !CollectionUtils.isEmpty(((VipGroupApplyBaseInfoDto)vipGroup).getVipGroupStudentCoursePrices())){
|
|
|
+ for (VipGroupStudentCoursePrice vscp : ((VipGroupApplyBaseInfoDto)vipGroup).getVipGroupStudentCoursePrices()) {
|
|
|
+ if(Objects.isNull(vscp.getOnlineClassesUnitPrice())||Objects.isNull(vscp.getOfflineClassesUnitPrice())){
|
|
|
+ throw new BizException("请设置课程单价");
|
|
|
+ }
|
|
|
+ vscp.setPaymentPrice(vscp.getOfflineClassesUnitPrice().multiply(new BigDecimal(vipGroup.getOfflineClassesNum())).add(vscp.getOnlineClassesUnitPrice().multiply(new BigDecimal(vipGroup.getOnlineClassesNum()))));
|
|
|
+ vipGroup.setTotalPrice(vipGroup.getTotalPrice().add(vscp.getPaymentPrice()));
|
|
|
+ results.put(vscp.getStudentId().toString(), vscp.getPaymentPrice());
|
|
|
}
|
|
|
- vscp.setPaymentPrice(vscp.getOfflineClassesUnitPrice().multiply(new BigDecimal(vipGroup.getOfflineClassesNum())).add(vscp.getOnlineClassesUnitPrice().multiply(new BigDecimal(vipGroup.getOnlineClassesNum()))));
|
|
|
- vipGroup.setTotalPrice(vipGroup.getTotalPrice().add(vscp.getPaymentPrice()));
|
|
|
- results.put(vscp.getStudentId().toString(), vscp.getPaymentPrice());
|
|
|
}
|
|
|
+
|
|
|
+ //教师课酬线上单课酬计算
|
|
|
+ if(Objects.nonNull(vipGroupSalarySettlementDto.getOnlineSalarySettlement())){
|
|
|
+ if(Objects.isNull(teacherOnlineSalary)){
|
|
|
+ switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
|
|
|
+ case TEACHER_DEFAULT:
|
|
|
+ teacherOnlineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
+ results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ case RATIO_DISCOUNT:
|
|
|
+ results.put("onlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum()))
|
|
|
+ .divide(totalClassNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN)
|
|
|
+ .multiply(vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())
|
|
|
+ .divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN)
|
|
|
+ .setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
+
|
|
|
+ break;
|
|
|
+ case FIXED_SALARY:
|
|
|
+ results.put("onlineTeacherSalary",vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("未指定课酬结算标准!");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //教师线下单课酬计算
|
|
|
+ if(Objects.nonNull(vipGroupSalarySettlementDto.getOfflineSalarySettlement())){
|
|
|
+ if(Objects.isNull(teacherOfflineSalary)){
|
|
|
+ switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
|
|
|
+ case TEACHER_DEFAULT:
|
|
|
+ teacherOfflineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
+ results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ case RATIO_DISCOUNT:
|
|
|
+ results.put("offlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum())).divide(totalClassNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
+
|
|
|
+ break;
|
|
|
+ case FIXED_SALARY:
|
|
|
+ results.put("offlineTeacherSalary",vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("未指定课酬结算标准!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal ots = results.get("onlineTeacherSalary");
|
|
|
+ if(Objects.isNull(ots)){
|
|
|
+ ots = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
+ }
|
|
|
+ if(Objects.isNull(ots)){
|
|
|
+ ots = BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ BigDecimal ofts = results.get("offlineTeacherSalary");
|
|
|
+ if(Objects.isNull(ofts)){
|
|
|
+ ofts = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
+ }
|
|
|
+ if(Objects.isNull(ofts)){
|
|
|
+ ofts = BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ if(Objects.nonNull(vipGroup.getStatus())&&normalStudentNum!=vipGroupCategory.getStudentNum()){
|
|
|
+ ots = ots.divide(new BigDecimal(vipGroupCategory.getStudentNum()),CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
+ ofts = ofts.divide(new BigDecimal(vipGroupCategory.getStudentNum()),CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
+ }
|
|
|
+
|
|
|
+ results.put("onlineTeacherSalary", ots);
|
|
|
+ results.put("offlineTeacherSalary", ofts);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(vipGroupCategory.getMusicTheory()){
|
|
|
BigDecimal ots = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
BigDecimal ofts = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
if(Objects.nonNull(vipGroup.getStatus())&&normalStudentNum!=vipGroupCategory.getStudentNum()){
|
|
@@ -997,64 +1127,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
return results;
|
|
|
}
|
|
|
|
|
|
- VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
|
|
|
-
|
|
|
- if(Objects.isNull(vipGroupSalarySettlementDto)){
|
|
|
- throw new BizException("课酬结算方案错误");
|
|
|
- }
|
|
|
-
|
|
|
- BigDecimal offlineClassNum=new BigDecimal(vipGroup.getOfflineClassesNum());
|
|
|
- BigDecimal onlineClassNum=new BigDecimal(vipGroup.getOnlineClassesNum());
|
|
|
- BigDecimal onlineClassesUnitPrice=vipGroup.getOnlineClassesUnitPrice();
|
|
|
- if(Objects.isNull(onlineClassesUnitPrice)){
|
|
|
- throw new BizException("课程单价异常");
|
|
|
- }
|
|
|
- BigDecimal onlineVipGroupCharge = onlineClassesUnitPrice.multiply(onlineClassNum);
|
|
|
-
|
|
|
- BigDecimal offlineClassesUnitPrice=vipGroup.getOfflineClassesUnitPrice();
|
|
|
- if(Objects.isNull(offlineClassesUnitPrice)){
|
|
|
- throw new BizException("课程单价异常");
|
|
|
- }
|
|
|
- BigDecimal offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
|
|
|
- BigDecimal totalClassNum=offlineClassNum.add(onlineClassNum);
|
|
|
- BigDecimal teacherOnlineSalary=null,teacherOfflineSalary=null;
|
|
|
-
|
|
|
- //课程购买费用计算
|
|
|
- BigDecimal totalPrice;
|
|
|
- switch (vipGroupActivity.getType()){
|
|
|
- case BASE_ACTIVITY:
|
|
|
- totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
|
- break;
|
|
|
- case DISCOUNT:
|
|
|
- BigDecimal discount=new BigDecimal(vipGroupActivity.getAttribute1());
|
|
|
- totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
|
- totalPrice=totalPrice.multiply(discount).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
|
|
|
- break;
|
|
|
- case GIVE_CLASS:
|
|
|
- if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))<0){
|
|
|
-
|
|
|
- }else if(vipGroup.getGiveTeachMode()==TeachModeEnum.OFFLINE){
|
|
|
- if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
|
|
|
- offlineClassNum=offlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
|
|
|
- }
|
|
|
- offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
|
|
|
- }else if(vipGroup.getGiveTeachMode()==TeachModeEnum.ONLINE){
|
|
|
- if(totalClassNum.compareTo(new BigDecimal(vipGroupActivity.getAttribute1()))>-1){
|
|
|
- onlineClassNum=onlineClassNum.subtract(new BigDecimal(vipGroupActivity.getAttribute2()));
|
|
|
- }
|
|
|
- onlineVipGroupCharge = onlineClassesUnitPrice.multiply(onlineClassNum);
|
|
|
- }else{
|
|
|
- throw new BizException("请指定赠送课程类型!");
|
|
|
- }
|
|
|
- totalPrice=onlineVipGroupCharge.add(offlineVipGroupCharge);
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new BizException("活动类型错误!");
|
|
|
- }
|
|
|
-
|
|
|
- results.put("totalPrice",totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
|
|
|
-
|
|
|
- if(vipGroup instanceof VipGroupApplyBaseInfoDto && !CollectionUtils.isEmpty(((VipGroupApplyBaseInfoDto)vipGroup).getVipGroupStudentCoursePrices())){
|
|
|
+ if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!CollectionUtils.isEmpty(((VipGroupApplyBaseInfoDto)vipGroup).getVipGroupStudentCoursePrices())){
|
|
|
+ vipGroup.setTotalPrice(new BigDecimal(0));
|
|
|
for (VipGroupStudentCoursePrice vscp : ((VipGroupApplyBaseInfoDto)vipGroup).getVipGroupStudentCoursePrices()) {
|
|
|
if(Objects.isNull(vscp.getOnlineClassesUnitPrice())||Objects.isNull(vscp.getOfflineClassesUnitPrice())){
|
|
|
throw new BizException("请设置课程单价");
|
|
@@ -1065,75 +1139,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //教师课酬线上单课酬计算
|
|
|
- if(Objects.nonNull(vipGroupSalarySettlementDto.getOnlineSalarySettlement())){
|
|
|
- if(Objects.isNull(teacherOnlineSalary)){
|
|
|
- switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
|
|
|
- case TEACHER_DEFAULT:
|
|
|
- teacherOnlineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
- results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
- break;
|
|
|
- case RATIO_DISCOUNT:
|
|
|
- results.put("onlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum()))
|
|
|
- .divide(totalClassNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN)
|
|
|
- .multiply(vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())
|
|
|
- .divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN)
|
|
|
- .setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
-
|
|
|
- break;
|
|
|
- case FIXED_SALARY:
|
|
|
- results.put("onlineTeacherSalary",vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new BizException("未指定课酬结算标准!");
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //教师线下单课酬计算
|
|
|
- if(Objects.nonNull(vipGroupSalarySettlementDto.getOfflineSalarySettlement())){
|
|
|
- if(Objects.isNull(teacherOfflineSalary)){
|
|
|
- switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
|
|
|
- case TEACHER_DEFAULT:
|
|
|
- teacherOfflineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
- results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
- break;
|
|
|
- case RATIO_DISCOUNT:
|
|
|
- results.put("offlineTeacherSalary",totalPrice.multiply(new BigDecimal(vipGroupCategory.getStudentNum())).divide(totalClassNum, CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
|
|
|
-
|
|
|
- break;
|
|
|
- case FIXED_SALARY:
|
|
|
- results.put("offlineTeacherSalary",vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new BizException("未指定课酬结算标准!");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- BigDecimal ots = results.get("onlineTeacherSalary");
|
|
|
- if(Objects.isNull(ots)){
|
|
|
- ots = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
- }
|
|
|
- if(Objects.isNull(ots)){
|
|
|
- ots = BigDecimal.ZERO;
|
|
|
- }
|
|
|
- BigDecimal ofts = results.get("offlineTeacherSalary");
|
|
|
- if(Objects.isNull(ofts)){
|
|
|
- ofts = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
|
|
|
- }
|
|
|
- if(Objects.isNull(ofts)){
|
|
|
- ofts = BigDecimal.ZERO;
|
|
|
- }
|
|
|
- if(Objects.nonNull(vipGroup.getStatus())&&normalStudentNum!=vipGroupCategory.getStudentNum()){
|
|
|
- ots = ots.divide(new BigDecimal(vipGroupCategory.getStudentNum()),CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
- ofts = ofts.divide(new BigDecimal(vipGroupCategory.getStudentNum()),CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
|
|
|
- }
|
|
|
-
|
|
|
- results.put("onlineTeacherSalary", ots);
|
|
|
- results.put("offlineTeacherSalary", ofts);
|
|
|
-
|
|
|
return results;
|
|
|
}
|
|
|
|
|
@@ -2801,7 +2806,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
- public void addVipGroupStudents(Long vipGroupId, List<Integer> studentIds) {
|
|
|
+ public void addVipGroupStudents(Long vipGroupId, List<Integer> studentIds, Map<Integer, VipGroupStudentCoursePrice> studentCoursePriceMap) {
|
|
|
if(CollectionUtils.isEmpty(studentIds)){
|
|
|
throw new BizException("请选择学生");
|
|
|
}
|
|
@@ -2822,12 +2827,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- List<VipGroupStudentCoursePrice> vipGroupStudentCoursePrices = vipGroupStudentCoursePriceDao.getVipGroupStudentCoursePrice(vipGroupId, null);
|
|
|
- Map<Integer, VipGroupStudentCoursePrice> studentCoursePriceMap = new HashMap<>();
|
|
|
- if(!CollectionUtils.isEmpty(vipGroupStudentCoursePrices)){
|
|
|
- studentCoursePriceMap = vipGroupStudentCoursePrices.stream().collect(Collectors.toMap(VipGroupStudentCoursePrice::getStudentId, v->v, (v1, v2)->v1));
|
|
|
- }
|
|
|
-
|
|
|
VipGroupDefaultClassesUnitPrice vipGroupDefaultClassesUnitPrice = vipGroupDefaultClassesUnitPriceDao.getByVipGroup(vipGroup.getId());
|
|
|
if(Objects.isNull(vipGroupDefaultClassesUnitPrice)){
|
|
|
throw new BizException("课程单价设置错误");
|
|
@@ -3008,7 +3007,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
}
|
|
|
|
|
|
sysUserCashAccountService.subtractFromCourseBalanceAndBalance(studentId,surplusCoursesPrice,PlatformCashAccountDetailTypeEnum.PAY_FEE, "后台添加学员扣减账户金额");
|
|
|
-// courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,studentId);
|
|
|
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
|
|
|
|