Explorar o código

feat:教师如果网管课课酬设置为0,则免费网管课课酬也为0:网管课加课,申请,购买

Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
51e090218d

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

@@ -1144,6 +1144,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 teacherIds.add(courseScheduleEndDto.getActualTeacherId());
                 teacherIds.add(courseScheduleEndDto.getActualTeacherId());
             }
             }
 
 
+			List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(allCourseScheduleIds);
+            Map<Long, Set<Integer>> courseTeachingTeacherIdsMap = new HashMap<>();
+            if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
+				courseTeachingTeacherIdsMap = courseScheduleTeacherSalaries.stream().filter(c->TeachTypeEnum.TEACHING.equals(c.getTeacherRole())).collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId, Collectors.mapping(CourseScheduleTeacherSalary::getUserId, Collectors.toSet())));
+			}
+
 			List<Integer> classGroupIds = dataList.stream().map(CourseScheduleDto::getClassGroupId).collect(Collectors.toList());
 			List<Integer> classGroupIds = dataList.stream().map(CourseScheduleDto::getClassGroupId).collect(Collectors.toList());
 			List<Group> groupsT = groupDao.findByClassGroupIds(classGroupIds);
 			List<Group> groupsT = groupDao.findByClassGroupIds(classGroupIds);
             Map<Integer, Group> idGroupMap = groupsT.stream().collect(Collectors.toMap(Group::getClassGroupId, group -> group));
             Map<Integer, Group> idGroupMap = groupsT.stream().collect(Collectors.toMap(Group::getClassGroupId, group -> group));
@@ -1162,6 +1168,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					dataList.get(i).setLeaveStudentNum((int) courseStudentAttendances.stream().filter(s->StudentAttendanceStatusEnum.LEAVE.equals(s.getStatus())).count());
 					dataList.get(i).setLeaveStudentNum((int) courseStudentAttendances.stream().filter(s->StudentAttendanceStatusEnum.LEAVE.equals(s.getStatus())).count());
 					dataList.get(i).setStudentNum((int) courseStudentAttendances.stream().filter(s->StudentAttendanceStatusEnum.NORMAL.equals(s.getStatus())).count());
 					dataList.get(i).setStudentNum((int) courseStudentAttendances.stream().filter(s->StudentAttendanceStatusEnum.NORMAL.equals(s.getStatus())).count());
 				}
 				}
+                if(courseTeachingTeacherIdsMap.containsKey(dataList.get(i).getId())){
+                	dataList.get(i).setTeachingTeacherIds(StringUtils.join(courseTeachingTeacherIdsMap.get(dataList.get(i).getId()), ","));
+				}
             }
             }
         }
         }
         if (count == 0) {
         if (count == 0) {