Browse Source

feat:VIP课课酬由班级人数改为课程预计上课人数

Joburgess 4 years ago
parent
commit
76dbf011db

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -225,6 +225,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @Date: 2019/9/23
 	 * 课时调整
 	 */
+	@Deprecated
 	void classStartDateAdjust(List<CourseSchedule> newCourseSchedules);
 
 	/**

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

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

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

@@ -3367,7 +3367,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
 						courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, newCourseSchedule, ts);
 					} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
-						Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, teacherId);
+						Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, teacherId, ts.getCourseScheduleId());
 
 						BigDecimal teacherSalary=null;
 
@@ -3581,7 +3581,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
                     BigDecimal onlineTeacherSalary = new BigDecimal(0), offlineTeacherSalary = new BigDecimal(0);
 
-					Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(byCourseSchedule, newCourseSchedule.getActualTeacherId());
+					Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(byCourseSchedule, newCourseSchedule.getActualTeacherId(), newCourseSchedule.getId());
 
                     List<CourseSchedule> courseSchedules = new ArrayList<>();
                     courseSchedules.add(newCourseSchedule);

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

@@ -795,7 +795,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         BigDecimal onlineTeacherSalary=BigDecimal.ZERO,
                 offlineTeacherSalary=BigDecimal.ZERO;
 
-        Map<String, BigDecimal> salary = vipGroupService.countVipGroupPredictFee(vipGroup, vipGroup.getUserId());
+        Map<String, BigDecimal> salary = vipGroupService.countVipGroupPredictFee(vipGroup, vipGroup.getUserId(), null);
 
         if(Objects.nonNull(salary)){
             onlineTeacherSalary=salary.get("onlineTeacherSalary");
@@ -1243,7 +1243,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     private void createVipGroupCourseTeacherSalaries(CourseSchedule courseSchedule, List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries){
         VipGroup vipGroup = vipGroupService.get(Long.valueOf(courseSchedule.getMusicGroupId()));
         for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
-            Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupCoursePredictFee(vipGroup, courseSchedule.getActualTeacherId(), courseSchedule.getId());
+            Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, courseSchedule.getActualTeacherId(), courseSchedule.getId());
             courseScheduleTeacherSalary.setExpectSalary(courseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?salaryMap.get("offlineTeacherSalary"):salaryMap.get("onlineTeacherSalary"));
         }
     }

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultVipGroupSalaryServiceImpl.java

@@ -164,11 +164,11 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 							TeacherDefaultVipGroupSalary origTdms = map.get(vipGroup.getVipGroupCategoryId());
 							if (tdms != null && origTdms != null) {
 								Map<String, BigDecimal> teachModeSalaryMap = new HashMap<>();
-								if(vipGroupCategory.getMusicTheory()){
-									teachModeSalaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, ts.getUserId());
-								}else{
-									teachModeSalaryMap = vipGroupService.countVipGroupCoursePredictFee(vipGroup, ts.getUserId(), ts.getCourseScheduleId());
-								}
+//								if(vipGroupCategory.getMusicTheory()){
+									teachModeSalaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, ts.getUserId(), ts.getCourseScheduleId());
+//								}else{
+//									teachModeSalaryMap = vipGroupService.countVipGroupCoursePredictFee(vipGroup, ts.getUserId(), ts.getCourseScheduleId());
+//								}
 								if(TeachModeEnum.ONLINE.equals(ts.getCourseSchedule().getTeachMode())&&teachModeSalaryMap.containsKey("onlineTeacherSalary")){
 									ts.setExpectSalary(teachModeSalaryMap.get("onlineTeacherSalary"));
 								}else if(TeachModeEnum.OFFLINE.equals(ts.getCourseSchedule().getTeachMode())&&teachModeSalaryMap.containsKey("offlineTeacherSalary")){

+ 10 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -284,7 +284,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		//计算课程相关费用信息
 		Map<String, BigDecimal> costInfo = countVipGroupPredictFee(vipGroupApplyBaseInfoDto,
-				vipGroupApplyBaseInfoDto.getUserId());
+				vipGroupApplyBaseInfoDto.getUserId(), null);
 
         vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
 
@@ -952,7 +952,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
     @Override
     public <K extends VipGroup> Map<String,BigDecimal> countVipGroupPredictFee(K vipGroup,
-																			   Integer teacherId){
+																			   Integer teacherId,
+																			   Long courseId){
 
 		if(Objects.isNull(teacherId)){
 			throw new BizException("请指定教师");
@@ -983,7 +984,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<String,BigDecimal> results=new HashMap<>(1);
 
 		int normalStudentNum = 0;
-		if(Objects.nonNull(vipGroup.getId())){
+		if(Objects.nonNull(courseId)){
+			normalStudentNum = courseScheduleStudentPaymentDao.countStudentNum(courseId.intValue());
+		}
+		if(normalStudentNum<=0&&Objects.nonNull(vipGroup.getId())){
 			normalStudentNum = classGroupStudentMapperDao.countGroupNormalStudentNum(GroupType.VIP, vipGroup.getId().toString());
 		}
 
@@ -2098,7 +2102,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				classGroupTeacherMapperDao.insert(classGroupTeacherMapper);
 			}
 
-			Map<String, BigDecimal> salaryMap = countVipGroupPredictFee(vipGroup, vipGroup.getUserId());
+			Map<String, BigDecimal> salaryMap = countVipGroupPredictFee(vipGroup, vipGroup.getUserId(), null);
 
 			//创建老师单节课课酬信息
 			courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroup,
@@ -2750,7 +2754,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		courseScheduleService.batchAddCourseSchedule(vipGroupApplyDto.getCourseSchedules());
 
-		Map<String, BigDecimal> map = countVipGroupPredictFee(vipGroup, vipGroup.getUserId());
+		Map<String, BigDecimal> map = countVipGroupPredictFee(vipGroup, vipGroup.getUserId(), null);
 
 		BigDecimal teacherSalary=BigDecimal.ZERO;
 
@@ -2871,7 +2875,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			if(courseNum==0){
 				courseScheduleService.batchAddCourseSchedule(courseSchedules);
 
-				Map<String, BigDecimal> salaryMap = countVipGroupPredictFee(vipGroup, vipGroup.getUserId());
+				Map<String, BigDecimal> salaryMap = countVipGroupPredictFee(vipGroup, vipGroup.getUserId(), null);
 
 				//创建老师单节课课酬信息
 				courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroup,

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

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