|
@@ -465,6 +465,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
TeacherDefaultVipGroupSalary teacherDefaultVipGroupSalary = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(teacherId.longValue(),
|
|
|
vipGroup.getVipGroupCategoryId());
|
|
|
|
|
|
+ if(Objects.isNull(vipGroup.getVipGroupActivityId())){
|
|
|
+ throw new BizException("请指定活动方案");
|
|
|
+ }
|
|
|
+
|
|
|
VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
|
|
|
|
|
|
if(Objects.isNull(vipGroupActivity)){
|
|
@@ -487,51 +491,42 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
|
|
|
BigDecimal onlineVipGroupCharge = onlineClassesUnitPrice.multiply(onlineClassNum);
|
|
|
BigDecimal offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
|
|
|
|
|
|
- if(vipGroup.getOnlineClassesNum()>0){
|
|
|
- //教师课酬线上单课酬计算
|
|
|
- switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
|
|
|
- case TEACHER_DEFAULT:
|
|
|
- if(Objects.isNull(teacherDefaultVipGroupSalary)){
|
|
|
- throw new BizException("未设置教师默认课酬");
|
|
|
- }
|
|
|
- results.put("onlineTeacherSalary",teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(classTimeDuty));
|
|
|
- break;
|
|
|
- case RATIO_DISCOUNT:
|
|
|
- results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())));
|
|
|
- break;
|
|
|
- case FIXED_SALARY:
|
|
|
- results.put("onlineTeacherSalary",vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue());
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new BizException("未指定课酬结算标准!");
|
|
|
- }
|
|
|
- }else{
|
|
|
- results.put("onlineTeacherSalary",new BigDecimal(0));
|
|
|
- }
|
|
|
-
|
|
|
- if(vipGroup.getOfflineClassesNum()>0){
|
|
|
- //教师线下单课酬计算
|
|
|
- switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
|
|
|
- case TEACHER_DEFAULT:
|
|
|
- if(Objects.isNull(teacherDefaultVipGroupSalary)){
|
|
|
- throw new BizException("未设置教师默认课酬");
|
|
|
- }
|
|
|
- results.put("offlineTeacherSalary",teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(classTimeDuty));
|
|
|
- break;
|
|
|
- case RATIO_DISCOUNT:
|
|
|
- results.put("offlineTeacherSalary",offlineClassesUnitPrice.multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()));
|
|
|
- break;
|
|
|
- case FIXED_SALARY:
|
|
|
- results.put("offlineTeacherSalary",vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue());
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new BizException("未指定课酬结算标准!");
|
|
|
- }
|
|
|
- }else{
|
|
|
- results.put("offlineTeacherSalary",new BigDecimal(0));
|
|
|
+ //教师课酬线上单课酬计算
|
|
|
+ switch (vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSalarySettlementType()){
|
|
|
+ case TEACHER_DEFAULT:
|
|
|
+ if(Objects.isNull(teacherDefaultVipGroupSalary)){
|
|
|
+ throw new BizException("未设置教师默认课酬");
|
|
|
+ }
|
|
|
+ results.put("onlineTeacherSalary",teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(classTimeDuty));
|
|
|
+ break;
|
|
|
+ case RATIO_DISCOUNT:
|
|
|
+ results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())));
|
|
|
+ break;
|
|
|
+ case FIXED_SALARY:
|
|
|
+ results.put("onlineTeacherSalary",vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("未指定课酬结算标准!");
|
|
|
+ }
|
|
|
+
|
|
|
+ //教师线下单课酬计算
|
|
|
+ switch (vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSalarySettlementType()){
|
|
|
+ case TEACHER_DEFAULT:
|
|
|
+ if(Objects.isNull(teacherDefaultVipGroupSalary)){
|
|
|
+ throw new BizException("未设置教师默认课酬");
|
|
|
+ }
|
|
|
+ results.put("offlineTeacherSalary",teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(classTimeDuty));
|
|
|
+ break;
|
|
|
+ case RATIO_DISCOUNT:
|
|
|
+ results.put("offlineTeacherSalary",offlineClassesUnitPrice.multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()));
|
|
|
+ break;
|
|
|
+ case FIXED_SALARY:
|
|
|
+ results.put("offlineTeacherSalary",vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new BizException("未指定课酬结算标准!");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if(computeTotalPrice){
|
|
|
//课程购买费用计算
|
|
|
BigDecimal totalPrice;
|