Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 4 years ago
parent
commit
7c38653b16

+ 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

+ 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);
 		//用户退群和加群
 	}
 }

+ 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());
 			});
 		}

+ 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'