Explorar o código

fix:账号冻结时,已登录APP的账号要被登出

liujc %!s(int64=2) %!d(string=hai) anos
pai
achega
ad0b2e15bc

+ 165 - 154
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CooperationOrganServiceImpl.java

@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.mapper.SchoolStaffMapper;
 import com.ym.mec.biz.service.CooperationOrganService;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.apache.commons.collections.CollectionUtils;
@@ -22,59 +23,62 @@ import java.util.stream.Collectors;
 
 @Service
 public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, CooperationOrgan>  implements CooperationOrganService {
-	
-	@Autowired
-	private CooperationOrganDao cooperationOrganDao;
-	
-	@Autowired
-	private CooperationOrganLinkmanDao cooperationOrganLinkmanDao;
-	
-	@Autowired
-	private MusicGroupDao musicGroupDao;
-	@Autowired
-	private ClassGroupDao classGroupDao;
-	@Autowired
-	private ImGroupMemberService imGroupMemberService;
-	@Autowired
-	private ImGroupService imGroupService;
-	@Autowired
-	private EmployeeDao employeeDao;
-	@Autowired
-	private SysUserFeignService sysUserFeignService;
 
     @Autowired
-    private SchoolStaffMapper schoolStaffMapper;
+    private CooperationOrganDao cooperationOrganDao;
 
-	@Override
-	public BaseDAO<Integer, CooperationOrgan> getDAO() {
-		return cooperationOrganDao;
-	}
+    @Autowired
+    private CooperationOrganLinkmanDao cooperationOrganLinkmanDao;
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public long insert(CooperationOrgan cooperationOrgan) {
-		Date date = new Date();
-		cooperationOrgan.setCreateTime(date);
-		cooperationOrgan.setUpdateTime(date);
-		super.insert(cooperationOrgan);
+    @Autowired
+    private MusicGroupDao musicGroupDao;
+    @Autowired
+    private ClassGroupDao classGroupDao;
+    @Autowired
+    private ImGroupMemberService imGroupMemberService;
+    @Autowired
+    private ImGroupService imGroupService;
+    @Autowired
+    private EmployeeDao employeeDao;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
-		List<CooperationOrganLinkman> list = cooperationOrgan.getCooperationOrganLinkmanList();
+    @Autowired
+    private SchoolStaffMapper schoolStaffMapper;
+
+    @Autowired
+    private SysUserService sysUserService;
+
+    @Override
+    public BaseDAO<Integer, CooperationOrgan> getDAO() {
+        return cooperationOrganDao;
+    }
 
-		if (list != null && list.size() > 0) {
-			for (CooperationOrganLinkman co : list) {
-				co.setCreateTime(date);
-				co.setCooperationOrganId(cooperationOrgan.getId());
-			}
-			cooperationOrganLinkmanDao.batchInsert(list);
-		}
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public long insert(CooperationOrgan cooperationOrgan) {
+        Date date = new Date();
+        cooperationOrgan.setCreateTime(date);
+        cooperationOrgan.setUpdateTime(date);
+        super.insert(cooperationOrgan);
+
+        List<CooperationOrganLinkman> list = cooperationOrgan.getCooperationOrganLinkmanList();
+
+        if (list != null && list.size() > 0) {
+            for (CooperationOrganLinkman co : list) {
+                co.setCreateTime(date);
+                co.setCooperationOrganId(cooperationOrgan.getId());
+            }
+            cooperationOrganLinkmanDao.batchInsert(list);
+        }
 
-		return 1;
-	}
+        return 1;
+    }
 
-	@Override
-	public List<CooperationOrgan> queryByOrganId(String organId) {
-		return cooperationOrganDao.queryByOrganId(organId);
-	}
+    @Override
+    public List<CooperationOrgan> queryByOrganId(String organId) {
+        return cooperationOrganDao.queryByOrganId(organId);
+    }
 
 
     @Override
@@ -87,121 +91,128 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 
     @Override
     public List<MusicGroupPaymentCalender> getCooperationOrganCalender4School(Integer id) {
-		return cooperationOrganDao.getCooperationOrganCalender4School(id);
+        return cooperationOrganDao.getCooperationOrganCalender4School(id);
     }
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void updateCooperation(CooperationOrgan cooperationOrgan) {
-		CooperationOrgan cooperationOrgan1 = cooperationOrganDao.get(cooperationOrgan.getId());
-		//修改了乐团主管后,修改关联乐团的乐团主管
-		if(!cooperationOrgan.getEducationUserId().equals(cooperationOrgan1.getEducationUserId())){
-			SysUser sysUser = sysUserFeignService.queryUserById(cooperationOrgan.getEducationUserId());
-			//获取进行中、暂停、筹备中的乐团列表
-			List<MusicGroup> musicGroups = musicGroupDao.findByCooperationIdAndStatus(cooperationOrgan.getId());
-			if(musicGroups.size() > 0){
-				for (MusicGroup musicGroup : musicGroups) {
-					//获取当前乐团所有班级
-					List<ClassGroup> classGroups = classGroupDao.findClassGroups(musicGroup.getId());
-					if (classGroups == null || classGroups.size() == 0) {
-						continue;
-					}
-					Integer educationalTeacherId = musicGroup.getEducationalTeacherId();
-					classGroups.forEach(e -> {
-						if(educationalTeacherId != null){
-							imGroupMemberService.quit(e.getId().toString(), educationalTeacherId);
-						}
-						imGroupMemberService.join(e.getId().toString(),"乐团主管",false,null,sysUser);
-					});
-				}
-			}
-			//更新预报名群信息
-			List<MusicGroup> musicGroupList = musicGroupDao.findByCooperationId(cooperationOrgan.getId());
-			if(musicGroupList.size() > 0){
-				for (MusicGroup musicGroup : musicGroupList) {
-					//不是导入的乐团
-					if(musicGroup.getId().length() > 10){
-						//是否有预报名的群聊
-						ImGroup imGroup = imGroupService.get(musicGroup.getId());
-						if(imGroup != null){
-							imGroupMemberService.quit(musicGroup.getId(),musicGroup.getEducationalTeacherId());
-							imGroupMemberService.join(musicGroup.getId(),"乐团主管",false,imGroup,sysUser);
-						}
-					}
-				}
-			}
-			//修改乐团主管
-			musicGroupDao.batchUpdateEdu(cooperationOrgan.getId(),cooperationOrgan.getEducationUserId());
-		}
-		
-		//修改了合作单位联系人
-		cooperationOrganLinkmanDao.deleteByCooperationOrganId(cooperationOrgan.getId());
-		List<CooperationOrganLinkman> cooperationOrganLinkmanList = cooperationOrgan.getCooperationOrganLinkmanList();
-		if(cooperationOrganLinkmanList != null && cooperationOrganLinkmanList.size() > 0){
-			cooperationOrganLinkmanDao.batchInsert(cooperationOrganLinkmanList);
-		}
-		
-		cooperationOrganDao.update(cooperationOrgan);
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateCooperation(CooperationOrgan cooperationOrgan) {
+        CooperationOrgan cooperationOrgan1 = cooperationOrganDao.get(cooperationOrgan.getId());
+        //修改了乐团主管后,修改关联乐团的乐团主管
+        if(!cooperationOrgan.getEducationUserId().equals(cooperationOrgan1.getEducationUserId())){
+            SysUser sysUser = sysUserFeignService.queryUserById(cooperationOrgan.getEducationUserId());
+            //获取进行中、暂停、筹备中的乐团列表
+            List<MusicGroup> musicGroups = musicGroupDao.findByCooperationIdAndStatus(cooperationOrgan.getId());
+            if(musicGroups.size() > 0){
+                for (MusicGroup musicGroup : musicGroups) {
+                    //获取当前乐团所有班级
+                    List<ClassGroup> classGroups = classGroupDao.findClassGroups(musicGroup.getId());
+                    if (classGroups == null || classGroups.size() == 0) {
+                        continue;
+                    }
+                    Integer educationalTeacherId = musicGroup.getEducationalTeacherId();
+                    classGroups.forEach(e -> {
+                        if(educationalTeacherId != null){
+                            imGroupMemberService.quit(e.getId().toString(), educationalTeacherId);
+                        }
+                        imGroupMemberService.join(e.getId().toString(),"乐团主管",false,null,sysUser);
+                    });
+                }
+            }
+            //更新预报名群信息
+            List<MusicGroup> musicGroupList = musicGroupDao.findByCooperationId(cooperationOrgan.getId());
+            if(musicGroupList.size() > 0){
+                for (MusicGroup musicGroup : musicGroupList) {
+                    //不是导入的乐团
+                    if(musicGroup.getId().length() > 10){
+                        //是否有预报名的群聊
+                        ImGroup imGroup = imGroupService.get(musicGroup.getId());
+                        if(imGroup != null){
+                            imGroupMemberService.quit(musicGroup.getId(),musicGroup.getEducationalTeacherId());
+                            imGroupMemberService.join(musicGroup.getId(),"乐团主管",false,imGroup,sysUser);
+                        }
+                    }
+                }
+            }
+            //修改乐团主管
+            musicGroupDao.batchUpdateEdu(cooperationOrgan.getId(),cooperationOrgan.getEducationUserId());
+        }
+
+        //修改了合作单位联系人
+        cooperationOrganLinkmanDao.deleteByCooperationOrganId(cooperationOrgan.getId());
+        List<CooperationOrganLinkman> cooperationOrganLinkmanList = cooperationOrgan.getCooperationOrganLinkmanList();
+        if(cooperationOrganLinkmanList != null && cooperationOrganLinkmanList.size() > 0){
+            cooperationOrganLinkmanDao.batchInsert(cooperationOrganLinkmanList);
+        }
+
+        cooperationOrganDao.update(cooperationOrgan);
 
         // 修改合作单位下的用户,改为锁定
 
+        List<SchoolStaff> schoolStaffs = schoolStaffMapper.getByCoopIdAndType(cooperationOrgan.getId(), null);
+
+
+        for (SchoolStaff schoolStaff : schoolStaffs) {
+            sysUserFeignService.exitByPhone("education", sysUserService.queryUserById(schoolStaff.getUserId().intValue()).getPhone());
+        }
+
         schoolStaffMapper.updateStatusAndRecoveryStatus(cooperationOrgan.getIsEnable(), cooperationOrgan.getId());
-	}
-
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void updateCooperationEdu(List<Integer> organIds) {
-		List<CooperationOrgan> organList = cooperationOrganDao.getCooperationOrganByIds(organIds);
-		for (CooperationOrgan cooperationOrgan : organList) {
-			if(cooperationOrgan.getEducationUserId() != null){
-				Employee employee = employeeDao.get(cooperationOrgan.getEducationUserId());
-				if(employee != null){
-					//获取进行中、暂停、筹备中的乐团列表
-					List<MusicGroup> musicGroups = musicGroupDao.findByCooperationIdAndStatus(cooperationOrgan.getId());
-					if(musicGroups.size() > 0){
-						for (MusicGroup musicGroup : musicGroups) {
-							//获取当前乐团所有班级
-							List<ClassGroup> classGroups = classGroupDao.findClassGroups(musicGroup.getId());
-							if (classGroups == null || classGroups.size() == 0) {
-								continue;
-							}
-							Integer educationalTeacherId = musicGroup.getEducationalTeacherId();
-							List<Integer> quitUserIdList = new ArrayList<Integer>();
-							if(educationalTeacherId != null){
-								quitUserIdList.add(educationalTeacherId);
-							}
-							Map<Integer, String> userRoleMap = new HashMap<Integer, String>(1);
-							userRoleMap.put(cooperationOrgan.getEducationUserId(), "乐团主管");
-							classGroups.forEach(e -> {
-								if(educationalTeacherId != null){
-									imGroupMemberService.quit(e.getId().toString(), quitUserIdList);
-								}
-								imGroupMemberService.join(e.getId().toString(), userRoleMap);
-							});
-						}
-					}
-					//更新预报名群信息
-					List<MusicGroup> musicGroupList = musicGroupDao.findByCooperationId(cooperationOrgan.getId());
-					if(musicGroupList.size() > 0){
-						for (MusicGroup musicGroup : musicGroupList) {
-							//不是导入的乐团
-							if(musicGroup.getId().length() > 10){
-								//是否有预报名的群聊
-								ImGroup imGroup = imGroupService.get(musicGroup.getId());
-								if(imGroup != null){
-									imGroupMemberService.quit(musicGroup.getId(),musicGroup.getEducationalTeacherId());
-									imGroupMemberService.join(musicGroup.getId(),cooperationOrgan.getEducationUserId(),"乐团主管",false);
-								}
-							}
-						}
-					}
-					//修改乐团主管
-					musicGroupDao.batchUpdateEdu(cooperationOrgan.getId(),cooperationOrgan.getEducationUserId());
-					System.out.println(cooperationOrgan.getName() + "  OK");
-				}
-			}
-		}
-	}
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateCooperationEdu(List<Integer> organIds) {
+        List<CooperationOrgan> organList = cooperationOrganDao.getCooperationOrganByIds(organIds);
+        for (CooperationOrgan cooperationOrgan : organList) {
+            if(cooperationOrgan.getEducationUserId() != null){
+                Employee employee = employeeDao.get(cooperationOrgan.getEducationUserId());
+                if(employee != null){
+                    //获取进行中、暂停、筹备中的乐团列表
+                    List<MusicGroup> musicGroups = musicGroupDao.findByCooperationIdAndStatus(cooperationOrgan.getId());
+                    if(musicGroups.size() > 0){
+                        for (MusicGroup musicGroup : musicGroups) {
+                            //获取当前乐团所有班级
+                            List<ClassGroup> classGroups = classGroupDao.findClassGroups(musicGroup.getId());
+                            if (classGroups == null || classGroups.size() == 0) {
+                                continue;
+                            }
+                            Integer educationalTeacherId = musicGroup.getEducationalTeacherId();
+                            List<Integer> quitUserIdList = new ArrayList<Integer>();
+                            if(educationalTeacherId != null){
+                                quitUserIdList.add(educationalTeacherId);
+                            }
+                            Map<Integer, String> userRoleMap = new HashMap<Integer, String>(1);
+                            userRoleMap.put(cooperationOrgan.getEducationUserId(), "乐团主管");
+                            classGroups.forEach(e -> {
+                                if(educationalTeacherId != null){
+                                    imGroupMemberService.quit(e.getId().toString(), quitUserIdList);
+                                }
+                                imGroupMemberService.join(e.getId().toString(), userRoleMap);
+                            });
+                        }
+                    }
+                    //更新预报名群信息
+                    List<MusicGroup> musicGroupList = musicGroupDao.findByCooperationId(cooperationOrgan.getId());
+                    if(musicGroupList.size() > 0){
+                        for (MusicGroup musicGroup : musicGroupList) {
+                            //不是导入的乐团
+                            if(musicGroup.getId().length() > 10){
+                                //是否有预报名的群聊
+                                ImGroup imGroup = imGroupService.get(musicGroup.getId());
+                                if(imGroup != null){
+                                    imGroupMemberService.quit(musicGroup.getId(),musicGroup.getEducationalTeacherId());
+                                    imGroupMemberService.join(musicGroup.getId(),cooperationOrgan.getEducationUserId(),"乐团主管",false);
+                                }
+                            }
+                        }
+                    }
+                    //修改乐团主管
+                    musicGroupDao.batchUpdateEdu(cooperationOrgan.getId(),cooperationOrgan.getEducationUserId());
+                    System.out.println(cooperationOrgan.getName() + "  OK");
+                }
+            }
+        }
+    }
 
     /**
      * 根据合作单位id获取合作单位信息