| 
					
				 | 
			
			
				@@ -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 
			 |