فهرست منبع

员工离职通讯录变更

zouxuan 4 سال پیش
والد
کامیت
c41ccfda9b

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeDao.java

@@ -175,4 +175,23 @@ public interface EmployeeDao extends BaseDAO<Integer, Employee> {
      */
     List<SimpleUserDto> findAllByRole(@Param("roleIds") String roleIds,
                                    @Param("organIds") String organIds);
+
+    /**
+     * 获取离职员工所在的乐团列表
+     * @param levelUserId
+     * @return
+     */
+    List<String> queryMusicGroupIdByUserId(Integer levelUserId);
+    /**
+     * 获取离职员工所在的乐团列表
+     * @param levelUserId
+     * @return
+     */
+    List<String> queryPracticeGroupIdByUserId(Integer levelUserId);
+    /**
+     * 获取离职员工所在的乐团列表
+     * @param levelUserId
+     * @return
+     */
+    List<String> queryVipGroupIdByUserId(Integer levelUserId);
 }

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

@@ -489,7 +489,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param mergeClassSplitClassAffirmDto
      * @return
      */
-    String mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws InvocationTargetException, IllegalAccessException, Exception;
+    HttpResponseResult mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws InvocationTargetException, IllegalAccessException, Exception;
 
     /**
      * 进行中乐团-修改-班级详情-学员班级调整-合并结果确认-获取新班级的可排课时长
@@ -535,7 +535,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param mergeClassSplitClassAffirmDto
      * @return
      */
-    String spanGroupMergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto);
+    HttpResponseResult spanGroupMergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto);
 
     /**
      * 跨团合班缴费项目审核通过后

+ 14 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -3352,7 +3352,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public String mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
+    public HttpResponseResult mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
         List<Integer> classGroupIds = mergeClassSplitClassAffirmDto.getClassGroupIds();
         if (classGroupIds == null || classGroupIds.size() == 0) {
             throw new BizException("参数校验失败");
@@ -3436,6 +3436,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         musicGroupStudentClassAdjustDao.insert(musicGroupStudentClassAdjust);
         //如果需要审核,校验参数配置
         checkMergeClassSplitClassAffirmParam(mergeClassSplitClassAffirmDto);
+        HttpResponseResult httpResponseResult = new HttpResponseResult();
+        httpResponseResult.setStatus(true);
+        httpResponseResult.setCode(200);
         //如果缴费项目不需要审核,那么生成班级以及课表
         if (status == null || status != AUDITING) {
             //每种课程类型单独进行排课
@@ -3470,14 +3473,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(delCourseIds);
             }
             imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(),MUSIC);
-            return "学员班级调整完成";
+            httpResponseResult.setMsg("学员班级调整完成");
         } else {
             //冻结班级
             classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds, 1);
             //冻结所选班级的课程
             courseScheduleDao.batchUpdateLockByCourseIds(allLockCourseIds, 1);
-            return "学员班级调整申请已提交,缴费项目审核中";
+            httpResponseResult.setMsg("学员班级调整申请已提交,缴费项目审核中");
         }
+        return httpResponseResult;
     }
 
     public void checkMergeClassSplitClassAffirmParam(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
@@ -3696,7 +3700,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public String spanGroupMergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
+    public HttpResponseResult spanGroupMergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         //缴费项目
         MusicGroupPaymentCalenderDto paymentCalenderDto = mergeClassSplitClassAffirmDto.getMusicGroupPaymentCalenderDtos().get(0);
@@ -3778,18 +3782,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<Long> allLockCourseIds = courseScheduleDao.queryStudentNotStartByClassIdsAndStudentIds(classGroupIds, null);
         musicGroupStudentClassAdjust.setAllLockCourseIds(JSON.toJSONString(allLockCourseIds));
         musicGroupStudentClassAdjustDao.insert(musicGroupStudentClassAdjust);
+        HttpResponseResult httpResponseResult = new HttpResponseResult();
+        httpResponseResult.setCode(200);
+        httpResponseResult.setStatus(true);
         //没有需要审核的缴费项目
         if (paymentCalenderDto.getStatus() != AUDITING) {
             List<Map> classGroupStudents1 = JSON.parseArray(musicGroupStudentClassAdjust.getClassGroupStudents(),Map.class);
             spanGroupClassAdjustPass(masterClassGroupId,studentIds,courseIds,classGroupStudents1,allLockCourseIds,paymentCalenderDto.getBatchNo(),masterTotalPrice);
-            return "操作成功:学员班级调整完成";
+            httpResponseResult.setMsg("操作成功:学员班级调整完成");
         }else {
 //                冻结班级
             classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds, 1);
 //                冻结所选班级的课程
             courseScheduleDao.batchUpdateLockByCourseIds(allLockCourseIds, 1);
-            return "操作成功:学员班级调整申请已提交,缴费项目审核中";
+            httpResponseResult.setMsg("操作成功:学员班级调整申请已提交,缴费项目审核中");
         }
+        return httpResponseResult;
     }
 
     @Override

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

@@ -7,6 +7,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.service.ImUserFriendService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@@ -58,6 +60,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private SysUserCashAccountDao sysUserCashAccountDao;
 	@Autowired
 	private ClassGroupDao classGroupDao;
+	@Autowired
+	private ImUserFriendService imUserFriendService;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -311,8 +315,27 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		employeeDao.updateUserDemissionDate(levelUserId);
 		//冻结用户
 		employeeDao.updateUserLock(levelUserId,1);
-
-		//获取指定分部,指定角色所在的乐团列表
+		//获取用户担任教务老师的所有乐团列表
+		List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
+		if(musicGroupIds.size() > 0){
+			for (String musicGroupId : musicGroupIds) {
+				imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.MUSIC);
+			}
+		}
+		//获取用户担任教务老师的所有网管课列表
+		List<String> practiceGroupIds = employeeDao.queryPracticeGroupIdByUserId(levelUserId);
+		if(practiceGroupIds.size() > 0){
+			for (String musicGroupId : practiceGroupIds) {
+				imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.PRACTICE);
+			}
+		}
+		//获取用户担任教务老师的所有VIP课列表
+		List<String> vipGroupIds = employeeDao.queryVipGroupIdByUserId(levelUserId);
+		if(vipGroupIds.size() > 0){
+			for (String musicGroupId : vipGroupIds) {
+				imUserFriendService.refreshGroupImUserFriend(musicGroupId, GroupType.VIP);
+			}
+		}
 	}
 
 	@Override

+ 22 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java

@@ -142,7 +142,10 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(courseSchedule.getClassGroupId(),null,null);
 		ClassGroup classGroup = classGroupDao.get(courseSchedule.getClassGroupId());
 		GroupType groupType = classGroup.getGroupType();
-		saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId());
+		List<ImUserFriend> imUserFriends = saveImUserFriends(studentIds, teacherIds, groupType, classGroup.getMusicGroupId());
+		if(imUserFriends.size() > 0){
+			batchInsert(imUserFriends);
+		}
 	}
 
 	@Override
@@ -154,20 +157,30 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(classGroupId,null,null);
 		ClassGroup classGroup = classGroupDao.get(classGroupId);
 		GroupType groupType = classGroup.getGroupType();
-		saveImUserFriends(studentIds,teacherIds,groupType,classGroup.getMusicGroupId());
+		List<ImUserFriend> imUserFriends = saveImUserFriends(studentIds, teacherIds, groupType, classGroup.getMusicGroupId());
+		if(imUserFriends.size() > 0){
+			batchInsert(imUserFriends);
+		}
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void refreshGroupImUserFriend(String musicGroupId,GroupType groupType) {
-		//获取班级关联的老师列表
-		Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(null,musicGroupId,groupType);
-		//获取班级关联的学员列表
-		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(null,musicGroupId,groupType);
-		saveImUserFriends(studentIds,teacherIds,groupType,musicGroupId);
+		List<ClassGroup> classGroups = classGroupDao.queryClassGroups(musicGroupId, groupType.getCode());
+		List<ImUserFriend> imUserFriends = new ArrayList<>();
+		classGroups.forEach(e->{
+			//获取班级关联的老师列表
+			Set<Integer> teacherIds = classGroupTeacherMapperDao.queryTeacherIdsByClassGroupId(e.getId(),null,null);
+			//获取班级关联的学员列表
+			Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(e.getId(),null,null);
+			imUserFriends.addAll(saveImUserFriends(studentIds,teacherIds,groupType,musicGroupId));
+		});
+		if(imUserFriends.size() > 0){
+			batchInsert(imUserFriends);
+		}
 	}
 
-	public void saveImUserFriends(Set<Integer> studentIds,Set<Integer> teacherIds,GroupType groupType,String musicGroupId){
+	public List<ImUserFriend> saveImUserFriends(Set<Integer> studentIds,Set<Integer> teacherIds,GroupType groupType,String musicGroupId){
 		List<ImUserFriend> imUserFriends = new ArrayList<>();
 		Set<Integer> educationIds = new HashSet<>();
 		MusicGroup musicGroup = new MusicGroup();
@@ -292,8 +305,6 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 				imUserFriends.add(imUserFriend);
 			}
 		}
-		if(imUserFriends.size() > 0){
-			batchInsert(imUserFriends);
-		}
+		return imUserFriends;
 	}
 }

+ 16 - 0
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -361,4 +361,20 @@
             AND INTE_ARRAY(e.organ_id_list_,#{organIds})
         </if>
     </select>
+
+    <select id="queryMusicGroupIdByUserId" resultType="java.lang.String">
+        SELECT DISTINCT id_ FROM music_group
+        WHERE (director_user_id_ = #{levelUserId} OR educational_teacher_id_ = #{levelUserId} OR team_teacher_id_ = #{levelUserId})
+        AND status_ IN ('NORMAL','PAUSE')
+    </select>
+
+    <select id="queryPracticeGroupIdByUserId" resultType="java.lang.String">
+        SELECT DISTINCT id_ FROM practice_group
+        WHERE educational_teacher_id_ = #{levelUserId} AND group_status_ = 'NORMAL'
+    </select>
+
+    <select id="queryVipGroupIdByUserId" resultType="java.lang.String">
+        SELECT DISTINCT id_ FROM vip_group
+        WHERE educational_teacher_id_ = #{levelUserId} AND group_status_ IN (2,6)
+    </select>
 </mapper>

+ 2 - 11
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -394,8 +394,7 @@ public class ClassGroupController extends BaseController {
     @PostMapping("/spanGroupMergeClassSplitClassAffirm")
     @PreAuthorize("@pcs.hasPermissions('classGroup/spanGroupMergeClassSplitClassAffirm')")
     public HttpResponseResult spanGroupMergeClassSplitClassAffirm(@RequestBody MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws Exception {
-        classGroupService.spanGroupMergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto);
-        return succeed();
+        return classGroupService.spanGroupMergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto);
     }
 
     @ApiOperation(value = "进行中乐团-修改-班级详情-学员班级调整-获取所选班级最大可排课时长")
@@ -409,14 +408,6 @@ public class ClassGroupController extends BaseController {
     @PostMapping("/mergeClassSplitClassAffirm")
     @PreAuthorize("@pcs.hasPermissions('classGroup/mergeClassSplitClassAffirm')")
     public HttpResponseResult mergeClassSplitClassAffirm(@RequestBody MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) throws Exception {
-        return succeed(classGroupService.mergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto));
+        return classGroupService.mergeClassSplitClassAffirm(mergeClassSplitClassAffirmDto);
     }
-
-//    @ApiOperation(value = "进行中乐团-修改-班级详情-学员班级调整-合并结果确认-获取新班级可排课时长")
-//    @PostMapping("/findClassCourseMinute")
-//    @PreAuthorize("@pcs.hasPermissions('classGroup/findClassCourseMinute')")
-//    public HttpResponseResult findClassCourseMinuteMap(@RequestBody List<Integer> classGroupIds){
-//        return succeed(classGroupService.findClassCourseMinuteMap(classGroupIds));
-//    }
-
 }