|
@@ -11,6 +11,7 @@ import com.hwrj.cloud.admin.model.*;
|
|
|
import com.hwrj.cloud.admin.service.UmsAdminCacheService;
|
|
|
import com.hwrj.cloud.admin.service.UmsRoleService;
|
|
|
import com.hwrj.cloud.admin.util.CurrUserUtil;
|
|
|
+import com.hwrj.cloud.common.exception.GlobalException;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
@@ -52,16 +53,43 @@ public class UmsRoleServiceImpl implements UmsRoleService {
|
|
|
role.setId(id);
|
|
|
return roleMapper.updateByPrimaryKeySelective(role);
|
|
|
}
|
|
|
+ @Autowired
|
|
|
+ private UmsRoleMenuRelationMapper umsRoleMenuRelationMapper;
|
|
|
+ @Autowired
|
|
|
+ private UmsRoleResourceRelationMapper umsRoleResourceRelationMapper;
|
|
|
|
|
|
@Override
|
|
|
public int delete(List<Long> ids) {
|
|
|
+ Long i = roleDao.deleteCheck(ids);
|
|
|
+ if(i>0){
|
|
|
+ throw new GlobalException("该角色被使用,无法删除!");
|
|
|
+ }
|
|
|
UmsRoleExample example = new UmsRoleExample();
|
|
|
example.createCriteria().andIdIn(ids);
|
|
|
int count = roleMapper.deleteByExample(example);
|
|
|
adminCacheService.delResourceListByRoleIds(ids);
|
|
|
+ //删除菜单
|
|
|
+ deleteMenu(ids);
|
|
|
+ //删除资源
|
|
|
+ deleteResource(ids);
|
|
|
+
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
+ private void deleteResource(List<Long> ids) {
|
|
|
+ UmsRoleResourceRelationExample example=new UmsRoleResourceRelationExample();
|
|
|
+ UmsRoleResourceRelationExample.Criteria criteria = example.createCriteria();
|
|
|
+ criteria.andRoleIdIn(ids);
|
|
|
+ umsRoleResourceRelationMapper.deleteByExample(example);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void deleteMenu(List<Long> ids) {
|
|
|
+ UmsRoleMenuRelationExample newExample=new UmsRoleMenuRelationExample();
|
|
|
+ UmsRoleMenuRelationExample.Criteria criteria = newExample.createCriteria();
|
|
|
+ criteria.andRoleIdIn(ids);
|
|
|
+ umsRoleMenuRelationMapper.deleteByExample(newExample);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<UmsPermission> getPermissionList(Long roleId) {
|
|
|
return rolePermissionRelationDao.getPermissionList(roleId);
|