Ver Fonte

Merge remote-tracking branch 'origin/online1' into online1

zouxuan há 4 anos atrás
pai
commit
40af5b1d77

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

@@ -3323,6 +3323,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				// 删除课酬
 				List<Long> courseScheduleIdList = new ArrayList<Long>();
 				courseScheduleIdList.add(courseScheduleId);
+
+				List<CourseScheduleTeacherSalary> oldCourseScheduleTeacherSalaryList = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
+				Map<Long, List<CourseScheduleTeacherSalary>> courseSalaryListMap = new HashMap<>();
+				if(!CollectionUtils.isEmpty(oldCourseScheduleTeacherSalaryList)){
+					courseSalaryListMap = oldCourseScheduleTeacherSalaryList.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
+				}
+
 				courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIdList);
 
 				for (Integer teacherId : newTeacherIdList) {
@@ -3360,7 +3367,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
 								.queryByUserId(teacherId);
-						if(freeTeacherSalary.compareTo(ts.getExpectSalary())!=0){
+						List<CourseScheduleTeacherSalary> teacherSalaries = courseSalaryListMap.get(ts.getCourseScheduleId());
+						if(!CollectionUtils.isEmpty(teacherSalaries)&&freeTeacherSalary.compareTo(teacherSalaries.get(0).getExpectSalary())==0){
+							ts.setExpectSalary(freeTeacherSalary);
+						}else{
 							if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
 								ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
 							} else {
@@ -4572,6 +4582,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
 			BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
 			for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+				courseScheduleTeacherSalary.setUserId(teacherId);
 				if(teacherSalary.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
 					continue;
 				}
@@ -4579,7 +4590,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
 					throw new BizException("请设置老师默认课酬");
 				}
-				courseScheduleTeacherSalary.setUserId(teacherId);
 				courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaries.get(0).getMainTeacherSalary());
 			}
 			courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
@@ -4677,6 +4687,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
 					List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
 					for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+						courseScheduleTeacherSalary.setUserId(teacherId);
 						if(teacherSalary.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
 							continue;
 						}
@@ -4684,7 +4695,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
 							throw new BizException("请设置老师默认课酬");
 						}
-						courseScheduleTeacherSalary.setUserId(teacherId);
 						courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaries.get(0).getMainTeacherSalary());
 					}
 					courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);