Browse Source

Merge branch 'active_course_2021-09-26~29' of http://git.dayaedu.com/yonge/mec into 2021-double-eleven

zouxuan 4 years ago
parent
commit
997a0feaf1

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -192,6 +192,16 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
     <K extends VipGroup> Map<String, BigDecimal> countVipGroupPredictFee1(K vipGroup,
     <K extends VipGroup> Map<String, BigDecimal> countVipGroupPredictFee1(K vipGroup,
                                                                          Integer teacherId,
                                                                          Integer teacherId,
                                                                          Long courseId);
                                                                          Long courseId);
+    /**
+     * @describe 计算vip课程购买总价,及老师课酬
+     * @author Joburgess
+     * @date 2019/10/23
+     * @param vipGroup: vip课程
+     * @param teacherId: 要计算课酬的老师的编号
+     * @return java.util.Map
+     */
+    <K extends VipGroup> Map<String, BigDecimal> countVipGroupPredictFee(K vipGroup,
+                                                                         Integer teacherId);
 
 
     /**
     /**
      * @describe 计算vip课程购买总价,及老师课酬-只是学生人数统计方式不同
      * @describe 计算vip课程购买总价,及老师课酬-只是学生人数统计方式不同

+ 2 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -4645,14 +4645,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         //教师课酬线上单课酬计算
         //教师课酬线上单课酬计算
         teacherDefaultSalary = teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
         teacherDefaultSalary = teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
         if(Objects.nonNull(salarySettlement)){
         if(Objects.nonNull(salarySettlement)){
-            switch (salarySettlement.getSalarySettlementType()){
-                case TEACHER_DEFAULT:
-                    break;
-                case FIXED_SALARY:
-                    teacherDefaultSalary = salarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP);
-                    break;
-                default:
-                    throw new BizException("错误的课酬结算标准!");
+            if(salarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+                teacherDefaultSalary = salarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP);
             }
             }
         }
         }
 
 

+ 205 - 105
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2175,13 +2175,169 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 
 		Map<String,BigDecimal> results=new HashMap<>(1);
 		Map<String,BigDecimal> results=new HashMap<>(1);
 
 
-		int normalStudentNum = 0;
-		if(Objects.nonNull(courseId)){
-			normalStudentNum = courseScheduleStudentPaymentDao.countStudentNum(courseId.intValue());
+		VipGroupSalarySettlementTypeDto vipOnlineSalarySettlement = null;
+		VipGroupSalarySettlementTypeDto giveVipOnlineSalarySettlement = null;
+		VipGroupSalarySettlementTypeDto vipOfflineSalarySettlement = null;
+		VipGroupSalarySettlementTypeDto giveVipOfflineSalarySettlement = null;
+		BigDecimal discount = new BigDecimal(100);
+		if(vipGroup.getVipGroupActivityId() != null){
+			VipGroupActivity vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId());
+			discount = vipGroupActivity.getDiscount();
+			VipGroupSalarySettlementDto vipGroupSalarySettlementDto = JSON.parseObject(vipGroupActivity.getSalarySettlementJson(), VipGroupSalarySettlementDto.class);
+			if(Objects.isNull(vipGroupSalarySettlementDto)){
+				throw new BizException("课酬结算方案错误");
+			}
+			vipOnlineSalarySettlement = vipGroupSalarySettlementDto.getVipOnlineSalarySettlement();
+			giveVipOnlineSalarySettlement = vipGroupSalarySettlementDto.getGiveVipOnlineSalarySettlement();
+			vipOfflineSalarySettlement = vipGroupSalarySettlementDto.getVipOfflineSalarySettlement();
+			giveVipOfflineSalarySettlement = vipGroupSalarySettlementDto.getGiveVipOfflineSalarySettlement();
 		}
 		}
-		if(normalStudentNum <= 0 && Objects.nonNull(vipGroup.getId())){
-			normalStudentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(GroupType.VIP, vipGroup.getId().toString());
+
+		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 teacherOnlineSalary = BigDecimal.ZERO,teacherOfflineSalary = BigDecimal.ZERO;
+		BigDecimal giveTeacherOnlineSalary = BigDecimal.ZERO,giveTeacherOfflineSalary = BigDecimal.ZERO;
+
+		//课程购买费用计算
+		BigDecimal totalPrice = onlineVipGroupCharge.add(offlineVipGroupCharge);
+		totalPrice = totalPrice.multiply(discount).divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
+
+		results.put("totalPrice",totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
+		vipGroup.setTotalPrice(totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
+
+		Integer studentNum = vipGroup.getStudentIdList().split(",").length;
+
+		//教师课酬线上单课酬计算
+		if(vipGroupCategory.getMusicTheory()){
+			teacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary().multiply(new BigDecimal(studentNum>5?5:studentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
+		}else {
+			teacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary();
+		}
+		if(Objects.nonNull(vipOnlineSalarySettlement)){
+			if(vipOnlineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				teacherOnlineSalary = vipOnlineSalarySettlement.getSettlementValue();
+			}
+		}
+		results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
+
+		//教师课酬赠送线上单课酬计算
+		if(vipGroupCategory.getMusicTheory()){
+			giveTeacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary().multiply(new BigDecimal(studentNum>5?5:studentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
+		}else {
+			giveTeacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary();
+		}
+		if(Objects.nonNull(giveVipOnlineSalarySettlement)){
+			if (giveVipOnlineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				giveTeacherOnlineSalary = giveVipOnlineSalarySettlement.getSettlementValue();
+			}
+		}
+		results.put("giveOnlineTeacherSalary",giveTeacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
+
+		//教师线下单课酬计算
+		if(vipGroupCategory.getMusicTheory()){
+			teacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(new BigDecimal(studentNum>5?5:studentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
+		}else {
+			teacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
+		}
+		if(Objects.nonNull(vipOfflineSalarySettlement)){
+			if(vipOfflineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				teacherOfflineSalary = vipOfflineSalarySettlement.getSettlementValue();
+			}
+		}
+		results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
+
+		//教师赠送线下单课酬计算
+		if(vipGroupCategory.getMusicTheory()){
+			giveTeacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(new BigDecimal(studentNum>5?5:studentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
+		}else {
+			giveTeacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
+		}
+		if(Objects.nonNull(giveVipOfflineSalarySettlement)){
+			if(giveVipOfflineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				giveTeacherOfflineSalary = giveVipOfflineSalarySettlement.getSettlementValue();
+			}
+		}
+		results.put("giveOfflineTeacherSalary",giveTeacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
+
+		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;
+		}
+		BigDecimal gots = results.get("giveOnlineTeacherSalary");
+		if(Objects.isNull(gots)){
+			gots = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
+		}
+		if(Objects.isNull(gots)){
+			gots = BigDecimal.ZERO;
+		}
+		BigDecimal gofts = results.get("giveOfflineTeacherSalary");
+		if(Objects.isNull(gofts)){
+			gofts = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
+		}
+		if(Objects.isNull(gofts)){
+			gofts = 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);
+//				gots = gots.divide(new BigDecimal(vipGroupCategory.getStudentNum()),CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
+//				gofts = gofts.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);
+		results.put("giveOnlineTeacherSalary", gots);
+		results.put("giveOfflineTeacherSalary", gofts);
+        return results;
+    }
+    @Override
+    public <K extends VipGroup> Map<String,BigDecimal> countVipGroupPredictFee(K vipGroup,
+																			   Integer teacherId){
+		if(Objects.isNull(teacherId)){
+			throw new BizException("请指定教师");
+		}
+
+		if(Objects.isNull(vipGroup.getVipGroupCategoryId())){
+			throw new BizException("请指定课程形式");
+		}
+
+		VipGroupCategory vipGroupCategory = vipGroupCategoryDao.get(vipGroup.getVipGroupCategoryId().intValue());
+		if(Objects.isNull(vipGroupCategory)){
+			throw new BizException("课程形式不存在");
+		}
+
+		TeacherDefaultVipGroupSalary teacherDefaultVipGroupSalary = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(teacherId,
+				vipGroup.getVipGroupCategoryId());
+
+		if(Objects.isNull(teacherDefaultVipGroupSalary)){
+			throw new BizException("请设置教师课酬");
+		}
+
+		if(Objects.isNull(teacherDefaultVipGroupSalary)||Objects.isNull(teacherDefaultVipGroupSalary.getOfflineClassesSalary())){
+			throw new BizException("请设置教师VIP课课酬");
+		}
+
+		Map<String,BigDecimal> results=new HashMap<>(1);
 
 
 		VipGroupSalarySettlementTypeDto vipOnlineSalarySettlement = null;
 		VipGroupSalarySettlementTypeDto vipOnlineSalarySettlement = null;
 		VipGroupSalarySettlementTypeDto giveVipOnlineSalarySettlement = null;
 		VipGroupSalarySettlementTypeDto giveVipOnlineSalarySettlement = null;
@@ -2214,8 +2370,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			throw new BizException("课程单价异常");
 			throw new BizException("课程单价异常");
 		}
 		}
 		BigDecimal offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
 		BigDecimal offlineVipGroupCharge = offlineClassesUnitPrice.multiply(offlineClassNum);
-		BigDecimal teacherOnlineSalary=null,teacherOfflineSalary=null;
-		BigDecimal giveTeacherOnlineSalary=null,giveTeacherOfflineSalary=null;
+		BigDecimal teacherOnlineSalary = BigDecimal.ZERO,teacherOfflineSalary = BigDecimal.ZERO;
+		BigDecimal giveTeacherOnlineSalary = BigDecimal.ZERO,giveTeacherOfflineSalary = BigDecimal.ZERO;
 
 
 		//课程购买费用计算
 		//课程购买费用计算
 		BigDecimal totalPrice = onlineVipGroupCharge.add(offlineVipGroupCharge);
 		BigDecimal totalPrice = onlineVipGroupCharge.add(offlineVipGroupCharge);
@@ -2225,93 +2381,42 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		vipGroup.setTotalPrice(totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
 		vipGroup.setTotalPrice(totalPrice.setScale(0,BigDecimal.ROUND_CEILING));
 
 
 		Integer studentNum = vipGroup.getStudentIdList().split(",").length;
 		Integer studentNum = vipGroup.getStudentIdList().split(",").length;
+
 		//教师课酬线上单课酬计算
 		//教师课酬线上单课酬计算
+		teacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary();
 		if(Objects.nonNull(vipOnlineSalarySettlement)){
 		if(Objects.nonNull(vipOnlineSalarySettlement)){
-			if(Objects.isNull(teacherOnlineSalary)){
-				switch (vipOnlineSalarySettlement.getSalarySettlementType()){
-					case TEACHER_DEFAULT:
-						if(vipGroupCategory.getMusicTheory()){
-							teacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary().multiply(new BigDecimal(studentNum>5?5:studentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
-							results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}else {
-							teacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary();
-							results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}
-						break;
-					case FIXED_SALARY:
-						results.put("onlineTeacherSalary",vipOnlineSalarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
-						break;
-					default:
-						throw new BizException("错误的课酬结算标准!");
-				}
-
+			if(vipOnlineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				teacherOnlineSalary = vipOnlineSalarySettlement.getSettlementValue();
 			}
 			}
 		}
 		}
+		results.put("onlineTeacherSalary",teacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
+
 		//教师课酬赠送线上单课酬计算
 		//教师课酬赠送线上单课酬计算
+		giveTeacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary();
 		if(Objects.nonNull(giveVipOnlineSalarySettlement)){
 		if(Objects.nonNull(giveVipOnlineSalarySettlement)){
-			if(Objects.isNull(giveTeacherOnlineSalary)){
-				switch (giveVipOnlineSalarySettlement.getSalarySettlementType()){
-					case TEACHER_DEFAULT:
-						if(vipGroupCategory.getMusicTheory()){
-							giveTeacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary().multiply(new BigDecimal(studentNum>5?5:studentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
-							results.put("giveOnlineTeacherSalary",giveTeacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}else {
-							giveTeacherOnlineSalary = teacherDefaultVipGroupSalary.getOnlineClassesSalary();
-							results.put("giveOnlineTeacherSalary",giveTeacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}
-						break;
-					case FIXED_SALARY:
-						results.put("giveOnlineTeacherSalary",giveVipOnlineSalarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
-						break;
-					default:
-						throw new BizException("错误的课酬结算标准!");
-				}
-
+			if (giveVipOnlineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				giveTeacherOnlineSalary = giveVipOnlineSalarySettlement.getSettlementValue();
 			}
 			}
 		}
 		}
+		results.put("giveOnlineTeacherSalary",giveTeacherOnlineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
 
 
 		//教师线下单课酬计算
 		//教师线下单课酬计算
+		teacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
 		if(Objects.nonNull(vipOfflineSalarySettlement)){
 		if(Objects.nonNull(vipOfflineSalarySettlement)){
-			if(Objects.isNull(teacherOfflineSalary)){
-				switch (vipOfflineSalarySettlement.getSalarySettlementType()){
-					case TEACHER_DEFAULT:
-						if(vipGroupCategory.getMusicTheory()){
-							teacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
-							results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}else {
-							teacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
-							results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}
-						break;
-					case FIXED_SALARY:
-						results.put("offlineTeacherSalary",vipOfflineSalarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
-						break;
-					default:
-						throw new BizException("错误的课酬结算标准!");
-				}
+			if(vipOfflineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				teacherOfflineSalary = vipOfflineSalarySettlement.getSettlementValue();
 			}
 			}
 		}
 		}
+		results.put("offlineTeacherSalary",teacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
+
 		//教师赠送线下单课酬计算
 		//教师赠送线下单课酬计算
+		giveTeacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
 		if(Objects.nonNull(giveVipOfflineSalarySettlement)){
 		if(Objects.nonNull(giveVipOfflineSalarySettlement)){
-			if(Objects.isNull(giveTeacherOfflineSalary)){
-				switch (giveVipOfflineSalarySettlement.getSalarySettlementType()){
-					case TEACHER_DEFAULT:
-						if(vipGroupCategory.getMusicTheory()){
-							giveTeacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary().multiply(new BigDecimal(normalStudentNum)).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
-							results.put("giveOfflineTeacherSalary",giveTeacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}else {
-							giveTeacherOfflineSalary = teacherDefaultVipGroupSalary.getOfflineClassesSalary();
-							results.put("giveOfflineTeacherSalary",giveTeacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
-						}
-						break;
-					case FIXED_SALARY:
-						results.put("giveOfflineTeacherSalary",giveVipOfflineSalarySettlement.getSettlementValue().setScale(0, BigDecimal.ROUND_HALF_UP));
-						break;
-					default:
-						throw new BizException("错误的课酬结算标准!");
-				}
+			if(giveVipOfflineSalarySettlement.getSalarySettlementType() == SalarySettlementTypeEnum.FIXED_SALARY){
+				giveTeacherOfflineSalary = giveVipOfflineSalarySettlement.getSettlementValue();
 			}
 			}
 		}
 		}
+		results.put("giveOfflineTeacherSalary",giveTeacherOfflineSalary.setScale(0, BigDecimal.ROUND_HALF_UP));
 
 
 		BigDecimal ots = results.get("onlineTeacherSalary");
 		BigDecimal ots = results.get("onlineTeacherSalary");
 		if(Objects.isNull(ots)){
 		if(Objects.isNull(ots)){
@@ -4190,11 +4295,12 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
 			vipGroupActivity = vipGroupActivityDao.get(vipGroup.getVipGroupActivityId().intValue());
 		}
 		}
 
 
-		if(Objects.nonNull(vipGroupActivity)&&Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes())&&vipGroupActivity.getStudentMaxUsedTimes()!=-1&&!CollectionUtils.isEmpty(studentIds)){
+		if(Objects.nonNull(vipGroupActivity) && Objects.nonNull(vipGroupActivity.getStudentMaxUsedTimes()) &&
+				vipGroupActivity.getStudentMaxUsedTimes() != -1 && !CollectionUtils.isEmpty(studentIds)){
 			List<Integer> errStudentIds = new ArrayList<>();
 			List<Integer> errStudentIds = new ArrayList<>();
 			for (Integer studentId : studentIds) {
 			for (Integer studentId : studentIds) {
 				int useNum = vipGroupDao.countStudentUseingActivityNum(vipGroup.getVipGroupActivityId(), Integer.valueOf(studentId));
 				int useNum = vipGroupDao.countStudentUseingActivityNum(vipGroup.getVipGroupActivityId(), Integer.valueOf(studentId));
-				if(useNum>=vipGroupActivity.getStudentMaxUsedTimes()){
+				if(useNum >= vipGroupActivity.getStudentMaxUsedTimes()){
 					errStudentIds.add(studentId);
 					errStudentIds.add(studentId);
 				}
 				}
 			}
 			}
@@ -4204,13 +4310,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 			}
 		}
 		}
 
 
-		Date now=new Date();
+		Date now = new Date();
         Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
         Map<Integer,String> userRoleMap = new HashMap<Integer, String>();
 
 
-		if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)||vipGroup.getStatus().equals(VipGroupStatusEnum.NOT_START)){
+		if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING) || vipGroup.getStatus().equals(VipGroupStatusEnum.NOT_START)){
 			List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
 			List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
 			int courseNum = courseScheduleDao.countVipGroupCourses(vipGroupId.intValue(),"VIP");
 			int courseNum = courseScheduleDao.countVipGroupCourses(vipGroupId.intValue(),"VIP");
-			if(courseNum==0){
+			if(courseNum == 0){
 				courseScheduleService.batchAddCourseSchedule(courseSchedules);
 				courseScheduleService.batchAddCourseSchedule(courseSchedules);
 
 
 				Map<String, BigDecimal> salaryMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
 				Map<String, BigDecimal> salaryMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
@@ -4230,7 +4336,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 
 		List<CourseSchedule> surplusCourses = courseScheduleDao.findByClassGroupAndStatus(classGroup.getId(), CourseStatusEnum.NOT_START.getCode());
 		List<CourseSchedule> surplusCourses = courseScheduleDao.findByClassGroupAndStatus(classGroup.getId(), CourseStatusEnum.NOT_START.getCode());
 
 
-		List<ClassGroupStudentMapper> classGroupStudentMappers=new ArrayList<>();
+		List<ClassGroupStudentMapper> classGroupStudentMappers = new ArrayList<>();
 
 
 		List<ClassGroupStudentMapper> classGroupStudentsList = classGroupStudentMapperDao.findByClassGroupAndStudent(classGroup.getId(), studentIds);
 		List<ClassGroupStudentMapper> classGroupStudentsList = classGroupStudentMapperDao.findByClassGroupAndStudent(classGroup.getId(), studentIds);
 		Map<Integer, List<ClassGroupStudentMapper>> classGroupStudentsMap = classGroupStudentsList.stream()
 		Map<Integer, List<ClassGroupStudentMapper>> classGroupStudentsMap = classGroupStudentsList.stream()
@@ -4321,36 +4427,33 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 			}
 
 
 
 
-			for (int i=0;i<surplusCourses.size();i++) {
-				CourseSchedule courseSchedule=surplusCourses.get(i);
+			for (int i = 0;i < surplusCourses.size();i++) {
+				CourseSchedule courseSchedule = surplusCourses.get(i);
 				if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
 				if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-					offlineCourseTimes+=1;
+					offlineCourseTimes += 1;
 				}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
 				}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
-					onlineCourseTimes+=1;
+					onlineCourseTimes += 1;
 				}
 				}
-				if(hasGiveClass
-						&&vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
+				if(hasGiveClass && vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
 					if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
 					if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
-							&&offlineCourseTimes>(offlineCourseTotalTimes-giveClassTimes)){
+							&& offlineCourseTimes > (offlineCourseTotalTimes - giveClassTimes)){
 						continue;
 						continue;
 					}
 					}
 
 
-					if(hasGiveClass
-							&&vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
-						if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)
-								&&onlineCourseTimes>(onlineCourseTotalTimes-giveClassTimes)){
+					if(hasGiveClass && vipGroup.getGiveTeachMode() == courseSchedule.getTeachMode()){
+						if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE) && onlineCourseTimes > (onlineCourseTotalTimes-giveClassTimes)){
 							continue;
 							continue;
 						}
 						}
 					}
 					}
 				}
 				}
 				if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
 				if(courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-					surplusCoursesPrice=surplusCoursesPrice.add(vipGroup.getOfflineClassesUnitPrice());
+					surplusCoursesPrice = surplusCoursesPrice.add(vipGroup.getOfflineClassesUnitPrice());
 				}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
 				}else if(courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
-					surplusCoursesPrice=surplusCoursesPrice.add(vipGroup.getOnlineClassesUnitPrice());
+					surplusCoursesPrice = surplusCoursesPrice.add(vipGroup.getOnlineClassesUnitPrice());
 				}
 				}
 			}
 			}
 
 
-			BigDecimal discount=null;
+			BigDecimal discount = null;
 			if(Objects.nonNull(vipGroupActivity)){
 			if(Objects.nonNull(vipGroupActivity)){
 				discount = vipGroupActivity.getDiscount().divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
 				discount = vipGroupActivity.getDiscount().divide(new BigDecimal(100), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
 				surplusCoursesPrice = surplusCoursesPrice.multiply(discount).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
 				surplusCoursesPrice = surplusCoursesPrice.multiply(discount).setScale(CommonConstants.DECIMAL_FINAL_PLACE,BigDecimal.ROUND_HALF_UP);
@@ -4360,13 +4463,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 
 			List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
 			List<CourseScheduleStudentPayment> courseScheduleStudentPayments=new ArrayList<>();
 
 
-			offlineCourseTimes=0;
-			onlineCourseTimes=0;
+			offlineCourseTimes = 0;
+			onlineCourseTimes = 0;
 			for (CourseSchedule vipGroupCourseSchedule : surplusCourses) {
 			for (CourseSchedule vipGroupCourseSchedule : surplusCourses) {
 				if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
 				if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)){
-					offlineCourseTimes+=1;
+					offlineCourseTimes += 1;
 				}else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
 				}else if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)){
-					onlineCourseTimes+=1;
+					onlineCourseTimes += 1;
 				}
 				}
 				CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
 				CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
 				courseScheduleStudentPayment.setGroupType(GroupType.VIP);
 				courseScheduleStudentPayment.setGroupType(GroupType.VIP);
@@ -4381,8 +4484,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 					courseScheduleStudentPayment.setExpectPrice(vipGroup.getOnlineClassesUnitPrice());
 					courseScheduleStudentPayment.setExpectPrice(vipGroup.getOnlineClassesUnitPrice());
 					courseScheduleStudentPayment.setOriginalPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
 					courseScheduleStudentPayment.setOriginalPrice(vipGroupDefaultClassesUnitPrice.getOnlineClassesUnitPrice());
                 }
                 }
-				if(hasGiveClass
-						&&vipGroup.getGiveTeachMode() == vipGroupCourseSchedule.getTeachMode()){
+				if(hasGiveClass && vipGroup.getGiveTeachMode() == vipGroupCourseSchedule.getTeachMode()){
 					if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
 					if(vipGroupCourseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)
 							&&offlineCourseTimes>(offlineCourseTotalTimes-giveClassTimes)){
 							&&offlineCourseTimes>(offlineCourseTotalTimes-giveClassTimes)){
 						courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
 						courseScheduleStudentPayment.setExpectPrice(new BigDecimal(0));
@@ -4437,8 +4539,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 
 		courseScheduleService.checkNewCourseSchedules(surplusCourses, false,false);
 		courseScheduleService.checkNewCourseSchedules(surplusCourses, false,false);
 
 
-		VipGroupStatusEnum vipGroupStatus = vipGroup.getStatus();
-
         Integer currentStudentNum = classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId());
         Integer currentStudentNum = classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId());
 		if((!vipGroup.getStatus().equals(VipGroupStatusEnum.FINISHED)
 		if((!vipGroup.getStatus().equals(VipGroupStatusEnum.FINISHED)
 				||!vipGroup.getStatus().equals(VipGroupStatusEnum.CANCEL))
 				||!vipGroup.getStatus().equals(VipGroupStatusEnum.CANCEL))

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

@@ -87,7 +87,7 @@ public class VipGroupActivityController extends BaseController {
                 queryInfo.setNewStudent(applyToStudentType);
                 queryInfo.setNewStudent(applyToStudentType);
             }
             }
             if(applyToStudentType == 2 || applyToStudentType == 3){
             if(applyToStudentType == 2 || applyToStudentType == 3){
-                queryInfo.setMemberFlag(applyToStudentType);
+                queryInfo.setMemberFlag(applyToStudentType==2?1:0);
             }
             }
         }
         }
         return succeed(vipGroupActivityService.queryPage(queryInfo));
         return succeed(vipGroupActivityService.queryPage(queryInfo));

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

@@ -372,7 +372,7 @@ public class VipGroupManageController extends BaseController {
     @PostMapping("/getVipGroupCostCount")
     @PostMapping("/getVipGroupCostCount")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/getVipGroupCostCount')")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/getVipGroupCostCount')")
     public Object getVipGroupCostCount(@RequestBody VipGroupApplyBaseInfoDto vipGroup){
     public Object getVipGroupCostCount(@RequestBody VipGroupApplyBaseInfoDto vipGroup){
-        Map results = vipGroupService.countVipGroupPredictFee1(vipGroup,vipGroup.getUserId(), null);
+        Map results = vipGroupService.countVipGroupPredictFee(vipGroup,vipGroup.getUserId());
         return succeed(results);
         return succeed(results);
     }
     }