zouxuan 4 rokov pred
rodič
commit
4f7c21fe54

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

@@ -216,6 +216,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void level(List<EmployeeLevelDto> employeeLevelDtos) {
 		Integer levelUserId = employeeLevelDtos.get(0).getLevelUserId();
 		List<ImGroupModel> imGroupModels = new ArrayList<>();
@@ -246,8 +247,13 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 				}
 			}
 		}
-//		imFeignService.groupBatchJoin();
-		employeeDao.employeeLevel(employeeLevelDtos);
+		//❤️用户加群
+//		imFeignService.groupBatchJoin(imGroupModels);
+		//原有员工退群
+		List<ImGroupModel> groupModels = classGroupDao.queryTeacherQuitGroups(levelUserId);
+//		imFeignService.groupBatchQuit(groupModels);
+//		employeeDao.employeeLevel(employeeLevelDtos);
 		//用户退群和加群
+		employeeDao.updateUserDemissionDate(levelUserId);
 	}
 }

+ 19 - 16
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -312,6 +312,9 @@
         <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">
+            <result property="id" column="user_id_"/>
+        </collection>
     </resultMap>
     <select id="queryUserMusicGroups" 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_,
@@ -484,49 +487,49 @@
     </select>
 
     <select id="queryTeacherQuitGroups" 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_
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,#{userId} user_id_
         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.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 cgtm.user_id_ != #{userId} AND 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.team_teacher_id_ = #{userId} OR mg.educational_teacher_id_ = #{userId} OR mg.director_user_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'))
         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_
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,#{userId} user_id_
         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_
         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 cgtm.user_id_ != #{userId} AND 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')
+        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'))
         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_
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,
+               mg.team_teacher_id_ user_id_
         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'
+        WHERE 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_
+        SELECT cg.id_,CASE WHEN cg.group_name_ IS NULL OR cg.group_name_ = '' THEN cg.name_ ELSE cg.group_name_ END name_,mg.director_user_id_ user_id_
         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'
+        WHERE mg.director_user_id_ = #{userId} AND cg.del_flag_ = 0 AND mg.status_ = 'PROGRESS'
         GROUP BY cg.id_
     </select>
 

+ 0 - 8
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -121,14 +121,6 @@ public class EmployeeController extends BaseController {
         return failed("获取用户失败");
     }
 
-//    @ApiOperation(value = "删除员工")
-//    @PostMapping("/delete/{userId}")
-//    @PreAuthorize("@pcs.hasPermissions('employee/delete')")
-//    public Object update(@PathVariable("userId") Long userId) {
-//        employeeService.deleteEmployee(userId);
-//        return succeed();
-//    }
-
     @ApiOperation(value = "获取所有员工")
     @GetMapping("/findAll")
     @PreAuthorize("@pcs.hasPermissions('employee/findAll')")