Browse Source

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

Joburgess 5 years ago
parent
commit
f05f4219e7

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

@@ -3507,12 +3507,31 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         checkNewCourseSchedules(courseSchedules,false);
 
         courseScheduleDao.update(oldCourseSchedule);
-        List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
-        if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
-            throw new BizException("请设置老师默认课酬");
+
+        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
+
+        if(Objects.nonNull(practiceGroup.getBuyMonths())){
+            List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+            if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
+                throw new BizException("请设置老师默认课酬");
+            }
+            courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
+        }else{
+            List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroup.getId().toString(), GroupType.PRACTICE);
+            if(!CollectionUtils.isEmpty(groupNotStartCourses)){
+                SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+                BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+                List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+                List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
+                for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+                    courseScheduleTeacherSalary.setUserId(teacherId);
+                    courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
+                }
+                courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(courseScheduleTeacherSalaries);
+            }
         }
+
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
-        courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleModifyLogDao.insert(scheduleModifyLog);
 
         Map<Integer, String> map = new HashMap<>(2);
@@ -3568,11 +3587,28 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         checkNewCourseSchedules(courseSchedules,false);
         courseScheduleDao.batchUpdate(courseSchedules);
         Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
-        courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
 
-        List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
-        if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
-            throw new BizException("请设置老师默认课酬");
+        PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(practiceGroupId));
+
+        if(Objects.nonNull(practiceGroup.getBuyMonths())){
+            List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+            if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
+                throw new BizException("请设置老师默认课酬");
+            }
+            courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
+        }else{
+            List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroupId, GroupType.PRACTICE);
+            if(!CollectionUtils.isEmpty(groupNotStartCourses)){
+                SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+                BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+                List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+                List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
+                for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+                    courseScheduleTeacherSalary.setUserId(teacherId);
+                    courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
+                }
+                courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(courseScheduleTeacherSalaries);
+            }
         }
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleModifyLogDao.batchInsert(scheduleModifyLogs);