Browse Source

员工离职

zouxuan 4 years ago
parent
commit
3b1e30c1b3

+ 14 - 1
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.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
@@ -230,6 +231,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 			for (Integer organId : organIds) {
 				List<EmployeeLevelDto> levelDtoList = organIdMap.get(organId);
 				for (EmployeeLevelDto employeeLevelDto : levelDtoList) {
+					if(employeeLevelDto.getLevelUserId() == employeeLevelDto.getTransferUserId()){
+						throw new BizException("交接人校验失败,请重新填写");
+					}
 					switch (roleName){
 						case "education":
 							//教务老师所需加入的群组
@@ -247,8 +251,17 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 				}
 			}
 		}
-		//❤️用户加群
+		if(imGroupModels.size() > 0){
+			//❤️用户加群
+			for (ImGroupModel imGroupModel : imGroupModels) {
+				List<ImGroupMember> memberList = imGroupModel.getMemberList();
+				if(memberList != null && memberList.size() > 0){
+					ImGroupMember[] imGroupMembers = new ImGroupMember[memberList.size()];
+					imGroupModel.setMembers(memberList.toArray(imGroupMembers));
+				}
+			}
 //		imFeignService.groupBatchJoin(imGroupModels);
+		}
 		//原有员工退群
 		List<ImGroupModel> groupModels = classGroupDao.queryTeacherQuitGroups(levelUserId);
 //		imFeignService.groupBatchQuit(groupModels);

+ 13 - 12
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -312,7 +312,7 @@
         <result column="img_" property="img"/>
         <result column="teacher_ids_" property="teacherIds"/>
         <result column="group_name_" property="groupName"/>
-        <collection property="members" ofType="com.ym.mec.common.entity.ImGroupMember">
+        <collection property="memberList" ofType="com.ym.mec.common.entity.ImGroupMember">
             <result property="id" column="user_id_"/>
         </collection>
     </resultMap>
@@ -473,12 +473,13 @@
         cg.student_num_,cg.img_,mg.name_ group_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} OR mg.team_teacher_id_ = #{userId} OR mg.educational_teacher_id_ = #{userId} OR mg.director_user_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}))
+        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
+        LEFT JOIN vip_group vg ON vg.id_ = cg.music_group_id_
+        LEFT JOIN courses_group csg ON csg.id_ = cg.music_group_id_
+        WHERE cg.del_flag_ = 0 AND
+        ((mg.status_ = 'PROGRESS' AND cg.group_type_ = 'MUSIC' AND (cgtm.user_id_ = #{userId} OR mg.team_teacher_id_ = #{userId} OR mg.educational_teacher_id_ = #{userId} OR mg.director_user_id_ = #{userId}))
+        OR (vg.group_status_ = 2 AND cg.group_type_ = 'VIP' AND vg.educational_teacher_id_ =  #{userId})
+        OR (csg.status_ = 'NORMAL' AND cg.group_type_ = 'COMM' AND csg.educational_teacher_id_ =  #{userId}))
         <if test="search != null">
             AND (cg.name_ LIKE CONCAT('%',#{search},'%') OR cg.group_name_ LIKE CONCAT('%',#{search},'%')
              OR mg.name_ LIKE CONCAT('%',#{search},'%'))
@@ -495,8 +496,7 @@
         LEFT JOIN courses_group csg ON csg.id_ = cg.music_group_id_
         WHERE cgtm.user_id_ != #{userId} AND cg.del_flag_ = 0
         AND ((vg.group_status_ = 2 AND vg.educational_teacher_id_ =  #{userId} AND cg.group_type_ = 'VIP')
-        OR (mg.status_ = 'PROGRESS' AND (mg.team_teacher_id_ = #{userId} OR mg.educational_teacher_id_ = #{userId} OR mg.director_user_id_ = #{userId})
-        AND cg.group_type_ = 'MUSIC')
+        OR (mg.status_ = 'PROGRESS' AND cg.group_type_ = 'MUSIC' AND (mg.team_teacher_id_ = #{userId} OR mg.educational_teacher_id_ = #{userId} OR mg.director_user_id_ = #{userId}))
         OR (csg.status_ = 'NORMAL' AND csg.educational_teacher_id_ =  #{userId} AND cg.group_type_ = 'COMM'))
         GROUP BY cg.id_
     </select>
@@ -508,9 +508,10 @@
         LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
         LEFT JOIN vip_group vg ON vg.id_ = cg.music_group_id_
         LEFT JOIN courses_group csg ON csg.id_ = cg.music_group_id_
-        WHERE cg.del_flag_ = 0 AND ((vg.group_status_ = 2 AND vg.educational_teacher_id_ =  #{userId} AND vg.organ_id_ = #{organId} AND cg.group_type_ = 'VIP')
-        OR (mg.status_ = 'PROGRESS' AND mg.educational_teacher_id_ =  #{userId} AND mg.organ_id_ = #{organId} AND cg.group_type_ = 'MUSIC')
-        OR (csg.status_ = 'NORMAL' AND csg.educational_teacher_id_ =  #{userId} AND csg.organ_id_ = #{organId} AND cg.group_type_ = 'COMM'))
+        WHERE cg.del_flag_ = 0 AND
+        ((vg.group_status_ = 2 AND cg.group_type_ = 'VIP' AND vg.educational_teacher_id_ =  #{userId} AND vg.organ_id_ = #{organId})
+        OR (mg.status_ = 'PROGRESS' AND cg.group_type_ = 'MUSIC' AND mg.educational_teacher_id_ =  #{userId} AND mg.organ_id_ = #{organId})
+        OR (csg.status_ = 'NORMAL' AND cg.group_type_ = 'COMM' AND csg.educational_teacher_id_ =  #{userId} AND csg.organ_id_ = #{organId}))
         GROUP BY cg.id_
     </select>
 

+ 0 - 2
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImGroupMember.java

@@ -12,8 +12,6 @@ public class ImGroupMember {
         this.id = id;
     }
 
-
-
     public ImGroupMember(String id, String groupId, Integer munite) {
         this.id = id;
         this.groupId = groupId;

+ 17 - 1
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImGroupModel.java

@@ -1,10 +1,16 @@
 package com.ym.mec.common.entity;
 
+import java.lang.reflect.Array;
+import java.util.Arrays;
+import java.util.List;
+
 public class ImGroupModel {
     //群组编号
     private String id;
     //用户列表
     private ImGroupMember[] members;
+    //用户列表
+    private List<ImGroupMember> memberList;
     //群名称
     private String name;
     private String teacherIds;
@@ -32,6 +38,14 @@ public class ImGroupModel {
         this.name = name;
     }
 
+    public List<ImGroupMember> getMemberList() {
+        return memberList;
+    }
+
+    public void setMemberList(List<ImGroupMember> memberList) {
+        this.memberList = memberList;
+    }
+
     public String getGroupName() {
         return groupName;
     }
@@ -90,7 +104,9 @@ public class ImGroupModel {
     }
 
     public ImGroupModel setMembers(ImGroupMember[] members) {
-        this.members = members;
+        if(members != null && members.length > 0){
+            this.members = members;
+        }
         return this;
     }