|  | @@ -1,13 +1,9 @@
 | 
											
												
													
														|  |  package com.ym.mec.auth.service.impl;
 |  |  package com.ym.mec.auth.service.impl;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -import com.ym.mec.auth.api.client.SysUserFeignService;
 |  | 
 | 
											
												
													
														|  |  import com.ym.mec.auth.api.entity.SysRole;
 |  |  import com.ym.mec.auth.api.entity.SysRole;
 | 
											
												
													
														|  | -import com.ym.mec.auth.api.entity.SysUser;
 |  | 
 | 
											
												
													
														|  | -import com.ym.mec.auth.api.entity.TenantInfo;
 |  | 
 | 
											
												
													
														|  |  import com.ym.mec.auth.dal.dao.SysRoleDao;
 |  |  import com.ym.mec.auth.dal.dao.SysRoleDao;
 | 
											
												
													
														|  |  import com.ym.mec.auth.dal.dao.SysRoleMenuDao;
 |  |  import com.ym.mec.auth.dal.dao.SysRoleMenuDao;
 | 
											
												
													
														|  |  import com.ym.mec.auth.service.SysRoleService;
 |  |  import com.ym.mec.auth.service.SysRoleService;
 | 
											
												
													
														|  | -import com.ym.mec.auth.service.TenantInfoService;
 |  | 
 | 
											
												
													
														|  |  import com.ym.mec.common.dal.BaseDAO;
 |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
											
												
													
														|  |  import com.ym.mec.common.exception.BizException;
 |  |  import com.ym.mec.common.exception.BizException;
 | 
											
												
													
														|  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 |  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
											
										
											
												
													
														|  | @@ -45,7 +41,7 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 | 
											
												
													
														|  |  	@Override
 |  |  	@Override
 | 
											
												
													
														|  |  	@Transactional(rollbackFor = Exception.class)
 |  |  	@Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |  	public void addRole(SysRole sysRole) {
 |  |  	public void addRole(SysRole sysRole) {
 | 
											
												
													
														|  | -		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(), sysRole.getTenantId());
 |  | 
 | 
											
												
													
														|  | 
 |  | +		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(),sysRole.getTenantId());
 | 
											
												
													
														|  |  		if(findByName != null){
 |  |  		if(findByName != null){
 | 
											
												
													
														|  |  			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
 |  |  			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
										
											
												
													
														|  | @@ -53,10 +49,19 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 | 
											
												
													
														|  |  		batchSave(sysRole);
 |  |  		batchSave(sysRole);
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +	public void checkManageRole(Integer id){
 | 
											
												
													
														|  | 
 |  | +		Integer tenantId = TenantContextHolder.getTenantId();
 | 
											
												
													
														|  | 
 |  | +		Integer roleId = sysRoleDao.getMinRoleId(tenantId);
 | 
											
												
													
														|  | 
 |  | +		if(roleId.equals(id)){
 | 
											
												
													
														|  | 
 |  | +			throw new BizException("操作失败:机构管理员角色不允许调整");
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  	@Override
 |  |  	@Override
 | 
											
												
													
														|  |  	@Transactional(rollbackFor = Exception.class)
 |  |  	@Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |  	public void updateRole(SysRole sysRole) {
 |  |  	public void updateRole(SysRole sysRole) {
 | 
											
												
													
														|  | -		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(), sysRole.getTenantId());
 |  | 
 | 
											
												
													
														|  | 
 |  | +		this.checkManageRole(sysRole.getId());
 | 
											
												
													
														|  | 
 |  | +		SysRole findByName = sysRoleDao.findByRoleName(sysRole.getRoleName(),sysRole.getTenantId());
 | 
											
												
													
														|  |  		if(findByName != null && !findByName.getId().equals(sysRole.getId())){
 |  |  		if(findByName != null && !findByName.getId().equals(sysRole.getId())){
 | 
											
												
													
														|  |  			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
 |  |  			throw new BizException("操作失败:角色 {} 已存在",sysRole.getRoleName());
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
										
											
												
													
														|  | @@ -69,6 +74,7 @@ public class SysRoleServiceImpl extends BaseServiceImpl<Integer, SysRole>  imple
 | 
											
												
													
														|  |  	@Override
 |  |  	@Override
 | 
											
												
													
														|  |  	@Transactional(rollbackFor = Exception.class)
 |  |  	@Transactional(rollbackFor = Exception.class)
 | 
											
												
													
														|  |  	public void delRole(Integer id) {
 |  |  	public void delRole(Integer id) {
 | 
											
												
													
														|  | 
 |  | +		this.checkManageRole(id);
 | 
											
												
													
														|  |  		sysRoleDao.delete(id);
 |  |  		sysRoleDao.delete(id);
 | 
											
												
													
														|  |  		sysRoleMenuDao.deleteAllMenu(id);
 |  |  		sysRoleMenuDao.deleteAllMenu(id);
 | 
											
												
													
														|  |  	}
 |  |  	}
 |