|  | @@ -9,9 +9,11 @@ import com.keao.edu.common.service.impl.BaseServiceImpl;
 | 
	
		
			
				|  |  |  import com.keao.edu.im.api.client.ImFeignService;
 | 
	
		
			
				|  |  |  import com.keao.edu.im.api.entity.ImResult;
 | 
	
		
			
				|  |  |  import com.keao.edu.im.api.entity.ImUserModel;
 | 
	
		
			
				|  |  | +import com.keao.edu.user.dao.EmployeeDao;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.dao.ExamOrganizationRelationDao;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.dao.OrganizationDao;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.dao.SysUserDao;
 | 
	
		
			
				|  |  | +import com.keao.edu.user.entity.Employee;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.entity.Organization;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  |  import com.keao.edu.user.service.OrganizationService;
 | 
	
	
		
			
				|  | @@ -37,6 +39,8 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private SysUserDao sysUserDao;
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  | +	private EmployeeDao employeeDao;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  |  	private ExamOrganizationRelationDao examOrganizationRelationDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
	
		
			
				|  | @@ -68,7 +72,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 | 
	
		
			
				|  |  |  			if(!user.getTenantId().equals(tenantId)){
 | 
	
		
			
				|  |  |  				throw new BizException("手机号已被占用");
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -			if(user.getUserType().contains("SYSTEM")){
 | 
	
		
			
				|  |  | +			if(StringUtils.isNotEmpty(user.getUserType()) && user.getUserType().contains("SYSTEM")){
 | 
	
		
			
				|  |  |  				throw new BizException("手机号已被占用");
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			Organization organization = organDao.get(user.getId());
 | 
	
	
		
			
				|  | @@ -92,13 +96,21 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 | 
	
		
			
				|  |  |  			}else if(organization.getDelFlag() == YesOrNoEnum.YES){
 | 
	
		
			
				|  |  |  				SysUser sysUser1 = organization.getSysUser();
 | 
	
		
			
				|  |  |  				if(StringUtils.isEmpty(sysUser1.getUserType())){
 | 
	
		
			
				|  |  | -					sysUser1.setUserType("SYSTEM");
 | 
	
		
			
				|  |  | +					sysUser.setUserType("SYSTEM");
 | 
	
		
			
				|  |  |  				}else {
 | 
	
		
			
				|  |  | -					sysUser1.setUserType(sysUser1.getUserType() + ",SYSTEM");
 | 
	
		
			
				|  |  | +					sysUser.setUserType(sysUser1.getUserType() + ",SYSTEM");
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +				sysUser.setId(sysUser1.getId());
 | 
	
		
			
				|  |  | +				sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | +				if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
 | 
	
		
			
				|  |  | +					sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | -				sysUserDao.update(sysUser1);
 | 
	
		
			
				|  |  | -				organization.setDelFlag(YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | -				organDao.update(organization);
 | 
	
		
			
				|  |  | +				Employee employee = employeeDao.get(sysUser.getId());
 | 
	
		
			
				|  |  | +				employee.setDelFlag(false);
 | 
	
		
			
				|  |  | +				employeeDao.update(employee);
 | 
	
		
			
				|  |  | +				organ.setDelFlag(YesOrNoEnum.NO);
 | 
	
		
			
				|  |  | +				organ.setId(organization.getId());
 | 
	
		
			
				|  |  | +				organDao.update(organ);
 | 
	
		
			
				|  |  |  			}else{
 | 
	
		
			
				|  |  |  				throw new BizException("用户已存在");
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -118,6 +130,12 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 | 
	
		
			
				|  |  |  		if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
 | 
	
		
			
				|  |  |  			sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +		Employee employee = new Employee();
 | 
	
		
			
				|  |  | +		employee.setOrganId(organ.getId());
 | 
	
		
			
				|  |  | +		employee.setUserId(sysUser.getId());
 | 
	
		
			
				|  |  | +		employee.setTenantId(tenantId);
 | 
	
		
			
				|  |  | +		employeeDao.insert(employee);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		ImResult imResult = imFeignService.register(new ImUserModel(sysUser.getId().toString(), sysUser.getRealName(),null));
 | 
	
		
			
				|  |  |          sysUser.setImToken(imResult.getToken());
 | 
	
		
			
				|  |  |  		sysUserDao.update(sysUser);
 | 
	
	
		
			
				|  | @@ -127,10 +145,11 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 | 
	
		
			
				|  |  |  	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |  	public void updateOrganization(Organization organization) {
 | 
	
		
			
				|  |  |  		SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  | -		sysUser.setId(organization.getUserId());
 | 
	
		
			
				|  |  | -		if(null == organDao.get(sysUser.getId())){
 | 
	
		
			
				|  |  | +		Organization organization1 = organDao.get(organization.getId());
 | 
	
		
			
				|  |  | +		if(null == organization1){
 | 
	
		
			
				|  |  |  			throw new BizException("合作商信息不存在");
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +		sysUser.setId(organization1.getUserId());
 | 
	
		
			
				|  |  |  //		organization.setId(sysUser.getId());
 | 
	
		
			
				|  |  |  		if(StringUtils.isNotEmpty(sysUser.getPhone())){
 | 
	
		
			
				|  |  |  			SysUser queryByPhone = sysUserDao.queryByPhone(sysUser.getPhone());
 | 
	
	
		
			
				|  | @@ -205,8 +224,12 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |  	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |  	public void del(Integer id) {
 | 
	
		
			
				|  |  | -		Integer count = examOrganizationRelationDao.findByOrganId(id);
 | 
	
		
			
				|  |  |  		Organization organization = organDao.get(id);
 | 
	
		
			
				|  |  | +		SysUser queryUserInfo = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  | +		if(queryUserInfo.getId().equals(organization.getUserId())){
 | 
	
		
			
				|  |  | +			throw new BizException("删除失败:不支持此操作");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		Integer count = examOrganizationRelationDao.findByOrganId(id);
 | 
	
		
			
				|  |  |  		if(count == null || count == 0){
 | 
	
		
			
				|  |  |  			SysUser sysUser = organization.getSysUser();
 | 
	
		
			
				|  |  |  			String userType = sysUser.getUserType();
 | 
	
	
		
			
				|  | @@ -217,10 +240,9 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 | 
	
		
			
				|  |  |  			}else {
 | 
	
		
			
				|  |  |  				sysUser.setUserType("");
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -			sysUser.setUserType(userType);
 | 
	
		
			
				|  |  | -			sysUserDao.update(sysUser);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +			sysUserDao.updateUserType(sysUser.getId(),sysUser.getUserType());
 | 
	
		
			
				|  |  |  			sysUserDao.delEmployeeRole(organization.getUserId());
 | 
	
		
			
				|  |  | +			employeeDao.delete(sysUser.getId());
 | 
	
		
			
				|  |  |  			organDao.delete(id);
 | 
	
		
			
				|  |  |  		}else {
 | 
	
		
			
				|  |  |  			throw new BizException("删除失败:存在考试项目,无法删除");
 |