|  | @@ -30,6 +30,7 @@ import com.ym.mec.im.entity.GroupModel;
 | 
											
												
													
														|  |  import com.ym.mec.util.collection.MapUtil;
 |  |  import com.ym.mec.util.collection.MapUtil;
 | 
											
												
													
														|  |  import org.apache.commons.lang3.StringUtils;
 |  |  import org.apache.commons.lang3.StringUtils;
 | 
											
												
													
														|  |  import org.springframework.beans.factory.annotation.Autowired;
 |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.security.authentication.LockedException;
 | 
											
												
													
														|  |  import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 |  |  import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Service;
 |  |  import org.springframework.stereotype.Service;
 | 
											
												
													
														|  |  import org.springframework.transaction.annotation.Transactional;
 |  |  import org.springframework.transaction.annotation.Transactional;
 | 
											
										
											
												
													
														|  | @@ -78,12 +79,20 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 | 
											
												
													
														|  |  		return employeeDao;
 |  |  		return employeeDao;
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +	private void checkTenantId(Integer tenantId,Integer targetTenantId){
 | 
											
												
													
														|  | 
 |  | +		//如果机构不一致,不允许跨机构注册
 | 
											
												
													
														|  | 
 |  | +		if(tenantId != null && tenantId != 0 && !tenantId.equals(targetTenantId)){
 | 
											
												
													
														|  | 
 |  | +			throw new LockedException("用户已注册");
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  	@Override
 |  |  	@Override
 | 
											
												
													
														|  |  	@Transactional(rollbackFor = Exception.class)
 |  |  	@Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |  	public void add(Employee employee){
 |  |  	public void add(Employee employee){
 | 
											
												
													
														|  | -		SysUser user = sysUserFeignService.queryUserByMobile(employee.getPhone());
 |  | 
 | 
											
												
													
														|  | 
 |  | +		SysUser user = teacherDao.getUserWithPhone(employee.getPhone());
 | 
											
												
													
														|  |  		Integer tenantId = TenantContextHolder.getTenantId();
 |  |  		Integer tenantId = TenantContextHolder.getTenantId();
 | 
											
												
													
														|  |  		if(user != null && user.getId() != null){
 |  |  		if(user != null && user.getId() != null){
 | 
											
												
													
														|  | 
 |  | +			checkTenantId(tenantId,user.getTenantId());
 | 
											
												
													
														|  |  			Employee employee1 = employeeDao.get(user.getId());
 |  |  			Employee employee1 = employeeDao.get(user.getId());
 | 
											
												
													
														|  |  			if(employee1 == null){
 |  |  			if(employee1 == null){
 | 
											
												
													
														|  |  				if(StringUtils.isEmpty(user.getPassword())){
 |  |  				if(StringUtils.isEmpty(user.getPassword())){
 | 
											
										
											
												
													
														|  | @@ -131,7 +140,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 | 
											
												
													
														|  |  			throw new BizException("员工信息不存在");
 |  |  			throw new BizException("员工信息不存在");
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  		employee.setUserId(employee.getId());
 |  |  		employee.setUserId(employee.getId());
 | 
											
												
													
														|  | -		SysUser sysUser = sysUserFeignService.queryUserByMobile(employee.getPhone());
 |  | 
 | 
											
												
													
														|  | 
 |  | +		SysUser sysUser = teacherDao.getUserWithPhone(employee.getPhone());
 | 
											
												
													
														|  |  		if(StringUtils.isNotEmpty(employee.getPhone())){
 |  |  		if(StringUtils.isNotEmpty(employee.getPhone())){
 | 
											
												
													
														|  |  			if(sysUser != null && !sysUser.getId().equals(employee.getUserId())){
 |  |  			if(sysUser != null && !sysUser.getId().equals(employee.getUserId())){
 | 
											
												
													
														|  |  				throw new BizException("手机号已存在");
 |  |  				throw new BizException("手机号已存在");
 | 
											
										
											
												
													
														|  | @@ -142,7 +151,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  		// 同步更新机构手机号 如果它存在  138xxx -> 159xxx
 |  |  		// 同步更新机构手机号 如果它存在  138xxx -> 159xxx
 | 
											
												
													
														|  | -		SysUser user = sysUserFeignService.queryUserById(employee.getId());
 |  | 
 | 
											
												
													
														|  | 
 |  | +		SysUser user = teacherDao.getUser(employee.getId());
 | 
											
												
													
														|  |  		if (!Objects.equals(user.getPhone(), employee.getPhone())) {
 |  |  		if (!Objects.equals(user.getPhone(), employee.getPhone())) {
 | 
											
												
													
														|  |  			tenantInfoService.updatePhone(employee.getPhone(), user.getPhone());
 |  |  			tenantInfoService.updatePhone(employee.getPhone(), user.getPhone());
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
										
											
												
													
														|  | @@ -232,7 +241,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 | 
											
												
													
														|  |  	@Transactional(rollbackFor = Exception.class)
 |  |  	@Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |  	public void employeeOperate(Integer employeeId, EmployeeOperateEnum operate) {
 |  |  	public void employeeOperate(Integer employeeId, EmployeeOperateEnum operate) {
 | 
											
												
													
														|  |  		Employee employee = employeeDao.get(employeeId);
 |  |  		Employee employee = employeeDao.get(employeeId);
 | 
											
												
													
														|  | -		SysUser sysUser = sysUserFeignService.queryUserById(employeeId);
 |  | 
 | 
											
												
													
														|  | 
 |  | +		SysUser sysUser = teacherDao.getUser(employeeId);
 | 
											
												
													
														|  |  		switch (operate){
 |  |  		switch (operate){
 | 
											
												
													
														|  |  			case RESET_PASSWORD:
 |  |  			case RESET_PASSWORD:
 | 
											
												
													
														|  |  				employeeDao.updatePassword(employeeId,new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
 |  |  				employeeDao.updatePassword(employeeId,new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
 | 
											
										
											
												
													
														|  | @@ -390,7 +399,7 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 | 
											
												
													
														|  |  		employeeDao.updateUserDemissionDate(levelUserId);
 |  |  		employeeDao.updateUserDemissionDate(levelUserId);
 | 
											
												
													
														|  |  		//冻结用户
 |  |  		//冻结用户
 | 
											
												
													
														|  |  		employeeDao.updateUserLock(levelUserId,1);
 |  |  		employeeDao.updateUserLock(levelUserId,1);
 | 
											
												
													
														|  | -		ExecutorService executor = Executors.newFixedThreadPool(20);
 |  | 
 | 
											
												
													
														|  | 
 |  | +		ExecutorService executor = Executors.newFixedThreadPool(5);
 | 
											
												
													
														|  |  		CompletableFuture<Boolean> refreshUserFriend = CompletableFuture.supplyAsync(()->{
 |  |  		CompletableFuture<Boolean> refreshUserFriend = CompletableFuture.supplyAsync(()->{
 | 
											
												
													
														|  |  			//获取用户担任教务老师、维修技师的所有乐团列表
 |  |  			//获取用户担任教务老师、维修技师的所有乐团列表
 | 
											
												
													
														|  |  			List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
 |  |  			List<String> musicGroupIds = employeeDao.queryMusicGroupIdByUserId(levelUserId);
 |