Przeglądaj źródła

1、陪练课调整
2、付费陪练课可预约时间调整

Joburgess 5 lat temu
rodzic
commit
def8a6e668

+ 43 - 42
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -876,6 +876,45 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		BigDecimal totalClassNum=offlineClassNum.add(onlineClassNum);
 		BigDecimal teacherOnlineSalary=null,teacherOfflineSalary=null;
 
+		if(Objects.isNull(vipGroupActivity.getType())){
+			throw new BizException("此活动未设置活动类型");
+		}
+
+		//课程购买费用计算
+		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).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
+				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("活动类型错误!");
+		}
+		totalPrice=totalPrice.setScale(0,BigDecimal.ROUND_CEILING);
+		results.put("totalPrice",totalPrice);
+
 		//教师课酬线上单课酬计算
 		if(Objects.nonNull(vipGroupSalarySettlementDto.getOnlineSalarySettlement())){
 			if(vipGroup instanceof VipGroupApplyBaseInfoDto&&!useDefaultTeacherSalary
@@ -895,7 +934,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 						results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
 						break;
 					case RATIO_DISCOUNT:
-						results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+//						results.put("onlineTeacherSalary",onlineClassesUnitPrice.multiply((vipGroupSalarySettlementDto.getOnlineSalarySettlement().getSettlementValue())).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						results.put("onlineTeacherSalary",totalPrice.divide(totalClassNum, RoundingMode.HALF_UP).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));
@@ -924,11 +964,11 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 						}else{
 							teacherOfflineSalary=teacherDefaultVipGroupSalary.getOfflineClassesSalary();
 						}
-//                        teacherOfflineSalary=teacherOfflineSalary.multiply(classTimeDuty);
 						results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
 						break;
 					case RATIO_DISCOUNT:
-						results.put("offlineTeacherSalary",offlineClassesUnitPrice.multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+//						results.put("offlineTeacherSalary",offlineClassesUnitPrice.multiply(vipGroupSalarySettlementDto.getOfflineSalarySettlement().getSettlementValue()).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).setScale(0,BigDecimal.ROUND_HALF_UP));
+						results.put("offlineTeacherSalary",totalPrice.divide(totalClassNum, RoundingMode.HALF_UP).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));
@@ -941,45 +981,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			results.put("offlineTeacherSalary", new BigDecimal(0));
 		}
 
-		if(Objects.isNull(vipGroupActivity.getType())){
-			throw new BizException("此活动未设置活动类型");
-		}
-
-		if(computeTotalPrice){
-			//课程购买费用计算
-			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).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
-					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));
-		}
         return results;
     }
 

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -147,7 +147,7 @@ public class TaskController extends BaseController {
 	//练习报告定时推送
 	@GetMapping("/pushStudyReport")
 	public void pushStudyReport(){
-		practiceGroupService.pushStudyReport(null, "ALL");
+		practiceGroupService.pushStudyReport(null, "JIGUANG");
 	}
 
 }