Browse Source

修改合作单位分部后,修改关联学校账号的分部

zouxuan 11 months ago
parent
commit
136a674024

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolStaffService.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.mapper.SchoolStaffMapper;
 import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
 import com.ym.mec.biz.dal.entity.SchoolStaff;
 
@@ -14,6 +15,8 @@ import java.util.List;
  */
 public interface SchoolStaffService extends IService<SchoolStaff>  {
 
+    SchoolStaffMapper getMapper();
+
 	/**
      * 查询详情
      * @param id 详情ID

+ 32 - 34
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CooperationOrganServiceImpl.java

@@ -5,48 +5,41 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-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.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.apache.commons.collections.CollectionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.CompletableFuture;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @Service
 public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, CooperationOrgan>  implements CooperationOrganService {
 	
-	@Autowired
+	@Resource
 	private CooperationOrganDao cooperationOrganDao;
-	
-	@Autowired
+	@Resource
 	private CooperationOrganLinkmanDao cooperationOrganLinkmanDao;
-	
-	@Autowired
+	@Resource
 	private MusicGroupDao musicGroupDao;
-	@Autowired
+	@Resource
 	private ClassGroupDao classGroupDao;
-	@Autowired
+	@Resource
 	private ImGroupMemberService imGroupMemberService;
-	@Autowired
+	@Resource
 	private ImGroupService imGroupService;
-	@Autowired
+	@Resource
 	private EmployeeDao employeeDao;
-	@Autowired
+	@Resource
 	private SysUserFeignService sysUserFeignService;
-
-    @Autowired
-    private SchoolStaffMapper schoolStaffMapper;
-
-    @Autowired
+    @Resource
+    private SchoolStaffService schoolStaffService;
+    @Resource
     private SysUserService sysUserService;
 
 	@Override
@@ -102,12 +95,17 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 	@Transactional(rollbackFor = Exception.class)
 	public void updateCooperation(CooperationOrgan cooperationOrgan) {
 		CooperationOrgan cooperationOrgan1 = cooperationOrganDao.get(cooperationOrgan.getId());
+		//修改合作单位下的学校账号
+		if(!cooperationOrgan.getOrganId().equals(cooperationOrgan1.getOrganId())){
+			schoolStaffService.lambdaUpdate().eq(SchoolStaff::getSchoolId, cooperationOrgan.getId())
+					.set(SchoolStaff::getOrganIdList, cooperationOrgan.getOrganId()).update();
+		}
 		//修改了乐团主管后,修改关联乐团的乐团主管
 		if(!cooperationOrgan.getEducationUserId().equals(cooperationOrgan1.getEducationUserId())){
-			SysUser sysUser = sysUserFeignService.queryUserById(cooperationOrgan.getEducationUserId());
+			SysUser sysUser = sysUserService.queryUserById(cooperationOrgan.getEducationUserId());
 			//获取进行中、暂停、筹备中的乐团列表
 			List<MusicGroup> musicGroups = musicGroupDao.findByCooperationIdAndStatus(cooperationOrgan.getId());
-			if(musicGroups.size() > 0){
+			if(CollectionUtils.isNotEmpty(musicGroups)){
 				for (MusicGroup musicGroup : musicGroups) {
 					//获取当前乐团所有班级
 					List<ClassGroup> classGroups = classGroupDao.findClassGroups(musicGroup.getId());
@@ -151,18 +149,18 @@ public class CooperationOrganServiceImpl extends BaseServiceImpl<Integer, Cooper
 		
 		cooperationOrganDao.update(cooperationOrgan);
 
-        // 修改合作单位下的用户,改为锁定
-
-        if (!cooperationOrgan.getIsEnable()) {
-            List<SchoolStaff> schoolStaffs = schoolStaffMapper.getByCoopIdAndType(cooperationOrgan.getId(), null);
+		// 修改合作单位下的用户,改为锁定
+		schoolStaffService.getMapper().updateStatusAndRecoveryStatus(cooperationOrgan.getIsEnable(), cooperationOrgan.getId());
 
-
-            for (SchoolStaff schoolStaff : schoolStaffs) {
-                sysUserFeignService.exitByPhone("education", sysUserService.queryUserById(schoolStaff.getUserId().intValue()).getPhone());
-            }
-        }
-
-        schoolStaffMapper.updateStatusAndRecoveryStatus(cooperationOrgan.getIsEnable(), cooperationOrgan.getId());
+		if (!cooperationOrgan.getIsEnable()) {
+			//用户退出登陆
+			CompletableFuture.runAsync(() -> {
+				List<SchoolStaff> schoolStaffs = schoolStaffService.getMapper().getByCoopIdAndType(cooperationOrgan.getId(), null);
+				for (SchoolStaff schoolStaff : schoolStaffs) {
+					sysUserFeignService.exitByPhone("education", sysUserService.queryUserById(schoolStaff.getUserId().intValue()).getPhone());
+				}
+			});
+		}
 	}
 
 	@Override

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolStaffServiceImpl.java

@@ -108,6 +108,11 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
     @Autowired
     private SysUserService sysUserService;
 
+    @Override
+    public SchoolStaffMapper getMapper() {
+        return baseMapper;
+    }
+
     /**
      * 查询详情
      * @param id 详情ID