Ver código fonte

活动排课

zouxuan 3 anos atrás
pai
commit
930530f5ca

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

@@ -3788,11 +3788,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(null, newCourseSchedule, ts);
 						} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
 							Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee1(vipGroup, teacherId, ts.getCourseScheduleId());
-
-							BigDecimal teacherSalary=null;
-
-							if(Objects.nonNull(salaryMap)){
-								teacherSalary = salaryMap.get("offlineTeacherSalary");
+							BigDecimal teacherSalary = salaryMap.get("offlineTeacherSalary");
+							//是否是赠送课程
+							ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(vipGroup.getId(),"VIP");
+							if(activityUserMapper != null){
+								if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+									teacherSalary = salaryMap.get("giveOfflineTeacherSalary");
+								}
 							}
 
 							ts.setExpectSalary(teacherSalary);
@@ -4001,11 +4003,19 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 if (teacherIsChange) {
                     VipGroup byCourseSchedule = vipGroupDao.findByCourseSchedule(newCourseSchedule.getId());
 
-					Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee1(byCourseSchedule, newCourseSchedule.getActualTeacherId(), newCourseSchedule.getId());
 
-                    List<CourseSchedule> courseSchedules = new ArrayList<>();
+					List<CourseSchedule> courseSchedules = new ArrayList<>();
                     courseSchedules.add(newCourseSchedule);
-                    courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(byCourseSchedule,courseSchedules,salaryMap.get("offlineTeacherSalary"));
+					Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee1(byCourseSchedule, newCourseSchedule.getActualTeacherId(), newCourseSchedule.getId());
+					BigDecimal teacherSalary = salaryMap.get("offlineTeacherSalary");
+					//是否是赠送课程
+					ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(byCourseSchedule.getId(),"VIP");
+					if(activityUserMapper != null){
+						if(byCourseSchedule.getId().equals(activityUserMapper.getGiveVipGroupId())){
+							teacherSalary = salaryMap.get("giveOfflineTeacherSalary");
+						}
+					}
+                    courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(byCourseSchedule,courseSchedules,teacherSalary);
                     if (Objects.nonNull(oldCourseSchedule.getActualTeacherId()) && teacherIsChange) {
                         beReplaceTeacherIds.add(oldCourseSchedule.getActualTeacherId().intValue());
                     }

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

@@ -49,7 +49,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     @Autowired
     private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
     @Autowired
-    private VipGroupActivityDao vipGroupActivityDao;
+    private ActivityUserMapperDao activityUserMapperDao;
     @Autowired
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
     @Autowired
@@ -927,13 +927,19 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 
         List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByGroupWithNotStart(vipGroupId.toString(), GroupType.VIP.getCode());
         if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
+            //是否是赠送课程
+            ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(vipGroup.getId(),"VIP");
             for(int i=0;i<courseScheduleTeacherSalaries.size();i++){
                 if(!courseScheduleTeacherSalaries.get(i).getEnableChangeSalary()){
                     continue;
                 }
                 Map<String, BigDecimal> salary = vipGroupService.countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), courseScheduleTeacherSalaries.get(i).getCourseScheduleId());
-                if(Objects.nonNull(salary)){
-                    offlineTeacherSalary=salary.get("offlineTeacherSalary");
+                offlineTeacherSalary = salary.get("offlineTeacherSalary");
+
+                if(activityUserMapper != null){
+                    if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+                        offlineTeacherSalary = salary.get("giveOfflineTeacherSalary");
+                    }
                 }
                 courseScheduleTeacherSalaries.get(i).setExpectSalary(offlineTeacherSalary);
             }
@@ -1403,9 +1409,18 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
      */
     private void createVipGroupCourseTeacherSalaries(CourseSchedule courseSchedule, List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries){
         VipGroup vipGroup = vipGroupService.get(Long.valueOf(courseSchedule.getMusicGroupId()));
+        //是否是赠送课程
+        ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(vipGroup.getId(),"VIP");
         for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
             Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee1(vipGroup, courseSchedule.getActualTeacherId(), courseSchedule.getId());
-            courseScheduleTeacherSalary.setExpectSalary(salaryMap.get("offlineTeacherSalary"));
+            BigDecimal teacherSalary = salaryMap.get("offlineTeacherSalary");
+
+            if(activityUserMapper != null){
+                if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+                    teacherSalary = salaryMap.get("giveOfflineTeacherSalary");
+                }
+            }
+            courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
         }
     }
 

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

@@ -53,6 +53,9 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 	@Autowired
 	private VipGroupCategoryDao vipGroupCategoryDao;
 
+	@Autowired
+	private ActivityUserMapperDao activityUserMapperDao;
+
 	@Override
 	public BaseDAO<Long, TeacherDefaultVipGroupSalary> getDAO() {
 		return teacherDefaultVipGroupSalaryDao;
@@ -137,6 +140,7 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 					// 批量修改课程课酬
 					List<CourseScheduleTeacherSalary> list = new ArrayList<CourseScheduleTeacherSalary>();
 
+					ActivityUserMapper activityUserMapper = activityUserMapperDao.findVipUserMapper(Long.parseLong(updateTeacherSalaryList.get(0).getMusicGroupId()),"VIP");
 					for (CourseScheduleTeacherSalary ts : updateTeacherSalaryList) {
 						//课酬调整后不能更新课酬
 						if(!ts.getEnableChangeSalary()){
@@ -168,6 +172,13 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 							if (tdms != null && origTdms != null) {
 								Map<String, BigDecimal> teachModeSalaryMap = vipGroupService.countVipGroupPredictFee1(vipGroup, ts.getUserId(), ts.getCourseScheduleId());
 								ts.setExpectSalary(teachModeSalaryMap.get("offlineTeacherSalary"));
+								//是否是赠送课程
+
+								if(activityUserMapper != null){
+									if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+										ts.setExpectSalary(teachModeSalaryMap.get("giveOfflineTeacherSalary"));
+									}
+								}
 								list.add(ts);
 							}
 						}

+ 38 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -590,10 +590,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.PASS);
 
 		//如果默认课酬与实际课酬不匹配则需要审批
-		if(costInfo.get("offlineTeacherSalary").compareTo(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary()) < 0
-			&& StringUtils.isBlank(studentIds)){
-			vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
-		}
+//		if(costInfo.get("offlineTeacherSalary").compareTo(vipGroupApplyBaseInfoDto.getOfflineTeacherSalary()) < 0
+//			&& StringUtils.isBlank(studentIds)){
+//			vipGroupApplyBaseInfoDto.setAuditStatus(AuditStatusEnum.ING);
+//		}
 
 		vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.get("totalPrice"));
 		if(StringUtils.isNotBlank(studentIds)){
@@ -978,7 +978,15 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			//计算课程相关费用信息
 			Map<String, BigDecimal> costInfo = countVipGroupPredictFee1(vipGroupApplyBaseInfoDto,
 					vipGroupApplyBaseInfoDto.getUserId(), null);
-			vipGroupApplyBaseInfoDto.setOfflineTeacherSalary(costInfo.get("offlineTeacherSalary"));
+			BigDecimal teacherSalary = costInfo.get("offlineTeacherSalary");
+			//是否是赠送课程
+			ActivityUserMapper activityUserMapper = activityUserMapperService.findVipUserMapper(vipGroupApplyBaseInfoDto.getId(),"VIP");
+			if(activityUserMapper != null){
+				if(vipGroupApplyBaseInfoDto.getId().equals(activityUserMapper.getGiveVipGroupId())){
+					teacherSalary = costInfo.get("giveOfflineTeacherSalary");
+				}
+			}
+			vipGroupApplyBaseInfoDto.setOfflineTeacherSalary(teacherSalary);
 			vipGroupApplyBaseInfoDto.setTotalPrice(costInfo.get("totalPrice"));
 		}else{
 			vipGroupApplyBaseInfoDto.setOfflineTeacherSalary(BigDecimal.ZERO);
@@ -3341,11 +3349,17 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 
 			Map<String, BigDecimal> salaryMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
-
+			BigDecimal teacherSalary = salaryMap.get("offlineTeacherSalary");
+			//是否是赠送课程
+			ActivityUserMapper activityUserMapper = activityUserMapperService.findVipUserMapper(vipGroup.getId(),"VIP");
+			if(activityUserMapper != null){
+				if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+					teacherSalary = salaryMap.get("giveOfflineTeacherSalary");
+				}
+			}
 			//创建老师单节课课酬信息
 			courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroup,
-					newCourseSchedules,
-					salaryMap.get("offlineTeacherSalary"));
+					newCourseSchedules,teacherSalary);
 		}
 
 		BigDecimal surplusCourseFee = new BigDecimal(0);
@@ -4001,11 +4015,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		courseScheduleService.batchAddCourseSchedule(vipGroupApplyDto.getCourseSchedules());
 
 		Map<String, BigDecimal> map = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
-
-		BigDecimal offlineTeacherSalary = ZERO;
-
-		if(Objects.nonNull(map)){
-			offlineTeacherSalary = map.get("offlineTeacherSalary");
+		BigDecimal offlineTeacherSalary = map.get("offlineTeacherSalary");
+		//是否是赠送课程
+		ActivityUserMapper activityUserMapper = activityUserMapperService.findVipUserMapper(vipGroup.getId(),"VIP");
+		if(activityUserMapper != null){
+			if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+				offlineTeacherSalary = map.get("giveOfflineTeacherSalary");
+			}
 		}
 
 		if(Objects.isNull(offlineTeacherSalary)){
@@ -4143,11 +4159,18 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				courseScheduleService.batchAddCourseSchedule(courseSchedules);
 
 				Map<String, BigDecimal> salaryMap = countVipGroupPredictFee1(vipGroup, vipGroup.getUserId(), null);
+				BigDecimal offlineTeacherSalary = salaryMap.get("offlineTeacherSalary");
+				//是否是赠送课程
+				ActivityUserMapper activityUserMapper = activityUserMapperService.findVipUserMapper(vipGroup.getId(),"VIP");
+				if(activityUserMapper != null){
+					if(vipGroup.getId().equals(activityUserMapper.getGiveVipGroupId())){
+						offlineTeacherSalary = salaryMap.get("giveOfflineTeacherSalary");
+					}
+				}
 
 				//创建老师单节课课酬信息
 				courseScheduleTeacherSalaryService.createCourseScheduleTeacherVipSalary(vipGroup,
-						courseSchedules,
-						salaryMap.get("offlineTeacherSalary"));
+						courseSchedules,offlineTeacherSalary);
 			}
             userRoleMap.put(vipGroup.getUserId(), "指导老师");