Преглед изворни кода

Merge remote-tracking branch 'origin/master'

周箭河 пре 4 година
родитељ
комит
aaa334111f

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -235,6 +235,30 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<ImGroupModel> queryTeacherQuitGroups(@Param("userId") Integer userId);
 
     /**
+     * 获取教务老师关联的群列表
+     *
+     * @param userId
+     * @return
+     */
+    List<ImGroupModel> queryEducationGroups(@Param("userId") Integer userId);
+
+    /**
+     * 获取运营主管关联的群列表
+     *
+     * @param userId
+     * @return
+     */
+    List<ImGroupModel> queryTeamTeacherGroups(@Param("userId") Integer userId);
+
+    /**
+     * 获取乐队指导关联的群列表
+     *
+     * @param userId
+     * @return
+     */
+    List<ImGroupModel> queryDirectorGroups(@Param("userId") Integer userId);
+
+    /**
      * 获取未分配合奏的单技班列表
      *
      * @param musicGroupId

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentAttendanceViewDto.java

@@ -16,7 +16,7 @@ public class StudentAttendanceViewDto {
     private String groupType;
 
     @ApiModelProperty(value = "乐团ID",required = false)
-    private Long musicGroupId;
+    private String musicGroupId;
 
     @ApiModelProperty(value = "科目ID",required = false)
     private Long subjectId;
@@ -88,11 +88,11 @@ public class StudentAttendanceViewDto {
         this.status = status;
     }
 
-    public Long getMusicGroupId() {
+    public String getMusicGroupId() {
         return musicGroupId;
     }
 
-    public void setMusicGroupId(Long musicGroupId) {
+    public void setMusicGroupId(String musicGroupId) {
         this.musicGroupId = musicGroupId;
     }
 

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

@@ -1867,8 +1867,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
         //根据课程获取助教id关联集合
         List<IntegerAndIntegerListDto> courseScheduleTeachingTeacherIdList = new ArrayList<>();
-        if (!CollectionUtils.isEmpty(existCourseScheduleIds)) {
-            courseScheduleTeachingTeacherIdList = courseScheduleDao.findCourseScheduleIdAndUserIdsMap(existCourseScheduleIds, TeachTypeEnum.TEACHING.getCode());
+        if (!CollectionUtils.isEmpty(allCourseScheduleIds)) {
+            courseScheduleTeachingTeacherIdList = courseScheduleDao.findCourseScheduleIdAndUserIdsMap(new ArrayList<>(allCourseScheduleIds), TeachTypeEnum.TEACHING.getCode());
         }
         Map<Long, IntegerAndIntegerListDto> courseScheduleTeachingTeacherMap = courseScheduleTeachingTeacherIdList.stream()
                 .collect(Collectors.toMap(IntegerAndIntegerListDto::getId, integerAndIntegerListDto -> integerAndIntegerListDto));

+ 27 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -18,6 +18,7 @@ import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
 import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
@@ -216,17 +217,35 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 
 	@Override
 	public void level(List<EmployeeLevelDto> employeeLevelDtos) {
+		Integer levelUserId = employeeLevelDtos.get(0).getLevelUserId();
+		List<ImGroupModel> imGroupModels = new ArrayList<>();
 		//获取用户需要加入的群组列表
-//		Map<String, List<EmployeeLevelDto>> collect = employeeLevelDtos.stream().collect(Collectors.groupingBy(e -> e.getRoleName()));
-//		Set<String> roleNames = collect.keySet();
-//		for (String roleName : roleNames) {
-//			if("repair" != roleName){
-//				List<EmployeeLevelDto> levelDtoList = collect.get(roleName);
-//
+		Map<String, List<EmployeeLevelDto>> collect = employeeLevelDtos.stream().collect(Collectors.groupingBy(e -> e.getRoleName()));
+		Set<String> roleNames = collect.keySet();
+		for (String roleName : roleNames) {
+			List<EmployeeLevelDto> levelDtos = collect.get(roleName);
+			Map<Integer, List<EmployeeLevelDto>> organIdMap = levelDtos.stream().collect(Collectors.groupingBy(e -> e.getOrganId()));
+			Set<Integer> organIds = organIdMap.keySet();
+			for (Integer organId : organIds) {
+
+			}
+//			switch (roleName){
+//				case "education":
+//					//教务老师所需加入的群组
+//					imGroupModels.addAll(classGroupDao.queryEducationGroups(levelUserId));
+//					break;
+//				case "education":
+//					//教务老师所需加入的群组
+//					imGroupModels.addAll(classGroupDao.queryEducationGroups(levelUserId));
+//					break;
 //			}
-//		}
+			//运营主管
+			imGroupModels.addAll(classGroupDao.queryTeamTeacherGroups(levelUserId));
+			//乐队指导
+			imGroupModels.addAll(classGroupDao.queryDirectorGroups(levelUserId));
+		}
 //		imFeignService.groupBatchJoin();
-//		employeeDao.employeeLevel(employeeLevelDtos);
+		employeeDao.employeeLevel(employeeLevelDtos);
 		//用户退群和加群
 	}
 }

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

@@ -155,14 +155,14 @@ public class ExtracurricularExercisesReplyServiceImpl extends BaseServiceImpl<Lo
 		LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
 		LocalDate createDateTime = LocalDateTime.ofInstant(existExtra.getCreateTime().toInstant(), DateUtil.zoneId).toLocalDate();
 		LocalDate createMonday = createDateTime.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
-		if(createDateTime.isBefore(monDayDate)){
-			StudentExtracurricularExercisesSituation studentExercisesSituation = studentExtracurricularExercisesSituationDao.findStudentExercisesSituationsWithMonDay(createMonday.toString(), existExtra.getUserId());
-			if(Objects.nonNull(studentExercisesSituation)){
-				studentExercisesSituation.setExercisesReplyNum(1);
-				studentExercisesSituation.setLastSubmitTime(now);
-				studentExtracurricularExercisesSituationDao.update(studentExercisesSituation);
-			}
-		}
+//		if(createDateTime.isBefore(monDayDate)){
+//			StudentExtracurricularExercisesSituation studentExercisesSituation = studentExtracurricularExercisesSituationDao.findStudentExercisesSituationsWithMonDay(createMonday.toString(), existExtra.getUserId());
+//			if(Objects.nonNull(studentExercisesSituation)){
+//				studentExercisesSituation.setExercisesReplyNum(1);
+//				studentExercisesSituation.setLastSubmitTime(now);
+//				studentExtracurricularExercisesSituationDao.update(studentExercisesSituation);
+//			}
+//		}
 
 		int submitStudentNum=extracurricularExercisesReplyDao.countIsSubmitStudents(existExtra.getExtracurricularExercisesId());
 		extracurricularExercises.setCompletedNum(submitStudentNum);

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -879,7 +879,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 						null, null, calenderPushDto.getMusicGroupName(), calenderPushDto.getPaymentValidStartDate(), calenderPushDto.getPaymentValidEndDate());
 				Map<Integer, String> receivers1 = new HashMap<>(1);
 				receivers1.put(calenderPushDto.getTeacherId(), calenderPushDto.getTeacherId().toString());
-				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_PAYMENT_CREATE, receivers, null, 0,
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.SMS_PAYMENT_CREATE, receivers1, null, 0,
 						null, "SYSTEM", calenderPushDto.getMusicGroupName(), calenderPushDto.getPaymentValidStartDate(), calenderPushDto.getPaymentValidEndDate());
 			});
 		}

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

@@ -140,14 +140,14 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
                 }
                 break;
         }
-        if(createDateTime.isBefore(monDayDate)&&isOk){
-            StudentExtracurricularExercisesSituation studentExercisesSituation = studentExtracurricularExercisesSituationDao.findStudentExercisesSituationsWithMonDay(createMonday.toString(), existHomework.getUserId());
-            if(Objects.nonNull(studentExercisesSituation)){
-                studentExercisesSituation.setExercisesReplyNum(1);
-                studentExercisesSituation.setLastSubmitTime(now);
-                studentExtracurricularExercisesSituationDao.update(studentExercisesSituation);
-            }
-        }
+//        if(createDateTime.isBefore(monDayDate)&&isOk){
+//            StudentExtracurricularExercisesSituation studentExercisesSituation = studentExtracurricularExercisesSituationDao.findStudentExercisesSituationsWithMonDay(createMonday.toString(), existHomework.getUserId());
+//            if(Objects.nonNull(studentExercisesSituation)){
+//                studentExercisesSituation.setExercisesReplyNum(1);
+//                studentExercisesSituation.setLastSubmitTime(now);
+//                studentExtracurricularExercisesSituationDao.update(studentExercisesSituation);
+//            }
+//        }
 
         studentServeService.updateExercisesSituation(courseSchedule.getClassDate(), new ArrayList<>(Arrays.asList(bean.getUserId())), courseSchedule.getTeacherId());
 

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

@@ -520,7 +520,7 @@ public class StudentServeServiceImpl implements StudentServeService {
                     if(!CollectionUtils.isEmpty(studentHomeworks)){
                         weekServiceWithStudent.setActualExercisesNum(studentHomeworks.size()>weekServiceWithStudent.getExpectExercisesNum()?weekServiceWithStudent.getExpectExercisesNum():studentHomeworks.size());
                         long replyNum = studentHomeworks.stream().filter(e -> YesOrNoEnum.YES.equals(e.getStatus())).count();
-                        weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
+                        weekServiceWithStudent.setExercisesReplyNum(replyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) replyNum);
                         long haveSubmitTimes = studentHomeworks.stream().filter(e -> Objects.nonNull(e.getSubmitTime())).count();
                         if(replyNum>0&&haveSubmitTimes>0){
                             Date lastSubmitTime = studentHomeworks.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(StudentServeCourseHomeworkDto::getSubmitTime)).get().getSubmitTime();
@@ -540,8 +540,8 @@ public class StudentServeServiceImpl implements StudentServeService {
                                 exercisesMessageTimelyNum+=1;
                             }
                         }
-                        weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
-                        weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
+                        weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageNum);
+                        weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageNum);
                     }
                 }
 
@@ -551,8 +551,8 @@ public class StudentServeServiceImpl implements StudentServeService {
                     if(!CollectionUtils.isEmpty(studentExercises)){
                         weekServiceWithStudent.setActualExercisesNum(studentExercises.size()>weekServiceWithStudent.getExpectExercisesNum()?weekServiceWithStudent.getExpectExercisesNum():studentExercises.size());
                         long replyNum = studentExercises.stream().filter(e -> e.getStatus()==1).count();
-                        if(weekServiceWithStudent.getExercisesReplyNum()<=0){
-                            weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
+                        if(weekServiceWithStudent.getExercisesReplyNum()<weekServiceWithStudent.getActualExercisesNum()){
+                            weekServiceWithStudent.setExercisesReplyNum(replyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) replyNum);
                         }
                         long haveSubmitTimes = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).count();
                         if(replyNum>0&&haveSubmitTimes>0){
@@ -575,11 +575,11 @@ public class StudentServeServiceImpl implements StudentServeService {
                                 exercisesMessageTimelyNum+=1;
                             }
                         }
-                        if(weekServiceWithStudent.getExercisesMessageNum()<=0){
-                            weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
+                        if(weekServiceWithStudent.getExercisesMessageNum()<weekServiceWithStudent.getActualExercisesNum()){
+                            weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageNum);
                         }
-                        if(weekServiceWithStudent.getExercisesMessageTimelyNum()<=0){
-                            weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
+                        if(weekServiceWithStudent.getExercisesMessageTimelyNum()<weekServiceWithStudent.getActualExercisesNum()){
+                            weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageTimelyNum);
                         }
                     }
                 }
@@ -712,7 +712,7 @@ public class StudentServeServiceImpl implements StudentServeService {
                 if(!CollectionUtils.isEmpty(studentHomeworks)){
                     weekServiceWithStudent.setActualExercisesNum(studentHomeworks.size()>weekServiceWithStudent.getExpectExercisesNum()?weekServiceWithStudent.getExpectExercisesNum():studentHomeworks.size());
                     long replyNum = studentHomeworks.stream().filter(e -> YesOrNoEnum.YES.equals(e.getStatus())).count();
-                    weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
+                    weekServiceWithStudent.setExercisesReplyNum(replyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) replyNum);
                     long haveSubmitTimes = studentHomeworks.stream().filter(e -> Objects.nonNull(e.getSubmitTime())).count();
                     if(replyNum>0&&haveSubmitTimes>0){
                         Date lastSubmitTime = studentHomeworks.stream().filter(e->Objects.nonNull(e.getSubmitTime())).max(Comparator.comparing(StudentServeCourseHomeworkDto::getSubmitTime)).get().getSubmitTime();
@@ -732,8 +732,8 @@ public class StudentServeServiceImpl implements StudentServeService {
                             exercisesMessageTimelyNum+=1;
                         }
                     }
-                    weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
-                    weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
+                    weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageNum);
+                    weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageTimelyNum);
                 }
             }
 
@@ -743,8 +743,8 @@ public class StudentServeServiceImpl implements StudentServeService {
                 if(!CollectionUtils.isEmpty(studentExercises)){
                     weekServiceWithStudent.setActualExercisesNum(studentExercises.size()>weekServiceWithStudent.getExpectExercisesNum()?weekServiceWithStudent.getExpectExercisesNum():studentExercises.size());
                     long replyNum = studentExercises.stream().filter(e -> e.getStatus()==1).count();
-                    if(weekServiceWithStudent.getExercisesReplyNum()<=0){
-                        weekServiceWithStudent.setExercisesReplyNum(replyNum>0?1:0);
+                    if(weekServiceWithStudent.getExercisesReplyNum()<weekServiceWithStudent.getActualExercisesNum()){
+                        weekServiceWithStudent.setExercisesReplyNum(replyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) replyNum);
                     }
                     long haveSubmitTimes = studentExercises.stream().filter(e->Objects.nonNull(e.getSubmitTime())).count();
                     if(replyNum>0&&haveSubmitTimes>0){
@@ -767,11 +767,11 @@ public class StudentServeServiceImpl implements StudentServeService {
                             exercisesMessageTimelyNum+=1;
                         }
                     }
-                    if(weekServiceWithStudent.getExercisesMessageNum()<=0){
-                        weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>0?1:0);
+                    if(weekServiceWithStudent.getExercisesMessageNum()<weekServiceWithStudent.getActualExercisesNum()){
+                        weekServiceWithStudent.setExercisesMessageNum(exercisesMessageNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageNum);
                     }
-                    if(weekServiceWithStudent.getExercisesMessageTimelyNum()<=0){
-                        weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>0?1:0);
+                    if(weekServiceWithStudent.getExercisesMessageTimelyNum()<weekServiceWithStudent.getActualExercisesNum()){
+                        weekServiceWithStudent.setExercisesMessageTimelyNum(exercisesMessageTimelyNum>weekServiceWithStudent.getActualExercisesNum()?weekServiceWithStudent.getActualExercisesNum(): (int) exercisesMessageTimelyNum);
                     }
                 }
             }

+ 33 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -496,6 +496,39 @@
         GROUP BY cg.id_
     </select>
 
+    <select id="queryEducationGroups" resultMap="imGroupModel">
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_
+        FROM class_group_teacher_mapper cgtm
+        LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
+        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_ AND cg.group_type_ = 'MUSIC'
+        LEFT JOIN vip_group vg ON vg.id_ = cg.music_group_id_ AND cg.group_type_ = 'VIP'
+        LEFT JOIN courses_group csg ON csg.id_ = cg.music_group_id_ AND cg.group_type_ = 'COMM'
+        WHERE cgtm.user_id_ != #{userId} AND mg.educational_teacher_id_ = #{userId}
+        AND cg.del_flag_ = 0 AND ((mg.status_ = 'PROGRESS' OR vg.group_status_ = 2 OR csg.status_ = 'NORMAL')
+        OR (vg.group_status_ = 2 AND vg.educational_teacher_id_ =  #{userId}) OR (csg.status_ = 'NORMAL' AND csg.educational_teacher_id_ =  #{userId}))
+        GROUP BY cg.id_
+    </select>
+
+    <select id="queryTeamTeacherGroups" resultMap="imGroupModel">
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_
+        FROM class_group_teacher_mapper cgtm
+        LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
+        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
+        WHERE cgtm.user_id_ != #{userId} AND mg.team_teacher_id_ = #{userId}
+        AND cg.del_flag_ = 0 AND mg.status_ = 'PROGRESS' AND cg.group_type_ = 'MUSIC'
+        GROUP BY cg.id_
+    </select>
+
+    <select id="queryDirectorGroups" resultMap="imGroupModel">
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_
+        FROM class_group_teacher_mapper cgtm
+        LEFT JOIN class_group cg ON cgtm.class_group_id_ = cg.id_
+        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_ AND cg.group_type_ = 'MUSIC'
+        WHERE cgtm.user_id_ != #{userId} AND mg.director_user_id_ = #{userId}
+        AND cg.del_flag_ = 0 AND mg.status_ = 'PROGRESS'
+        GROUP BY cg.id_
+    </select>
+
     <select id="findNoClassSubjects" resultMap="ClassGroup">
         SELECT cg.* FROM class_group cg LEFT JOIN class_group_relation cgr ON cgr.sub_class_group_id_=cg.id_
         WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_ = 'NORMAL'

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -175,7 +175,7 @@
 		WHERE
 			sees.monday_ = #{startDate}
 			AND sees.teacher_id_ = #{teacherId}
-			AND sees.actual_exercises_num_ &lt; sees.exercises_reply_num_
+			AND sees.actual_exercises_num_ &lt; sees.expect_exercises_num_
 			AND sees.serve_type_ = 'EXERCISE'
 		<if test="search!=null">
 				AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT(#{search}, '%'))