资源管理

This commit is contained in:
root
2021-06-30 17:28:39 +08:00
parent bad0f16f90
commit b543a9502d
17 changed files with 454 additions and 3 deletions
@@ -6,6 +6,7 @@ import com.adc.da.http.Result;
import com.adc.da.login.util.UserUtils;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.sys.entity.UserEO;
import io.swagger.annotations.ApiOperation;
@@ -92,4 +93,18 @@ public class TsRoleController extends BaseController<TsRole> {
List<String> menuIds=tsRoleService.getMenu(roleId);
return Result.success(menuIds);
}
@ApiOperation("配置资源")
@PostMapping("/resource")
public ResponseMessage<Object> setResource(@Valid @RequestBody TsRoleResourceVO tsRoleResourceVO){
return tsRoleService.setResource(tsRoleResourceVO);
}
@ApiOperation("查询角色资源")
@GetMapping("/resource")
public ResponseMessage<List<String>> getResource(@RequestParam String roleId){
List<String> resourceIds=tsRoleService.getResource(roleId);
return Result.success(resourceIds);
}
}
@@ -59,4 +59,36 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
* @return List<String>
*/
List<String> getMenuIdsByRoleIds(List<String> roleIds);
/**
* 通过角色ID查询绑定的资源ID
* @param roleId:角色ID
* @return List<String>
*/
@Select("select resource_id from ts_role_resource where role_id=#{roleId}")
List<String> getResourceIds(String roleId);
/**
* 添加资源
* @param roleId:角色ID
* @param resourceId:权限ID
*/
@Insert("insert into ts_role_resource (role_id,resource_id) values (#{roleId},#{resourceId})")
void addResource(String roleId, String resourceId);
/**
* 删除权限
* @param roleId:角色ID
* @param resourceId:权限ID
*/
@Delete("delete from ts_role_resource where role_id=#{roleId} and resource_id=#{resourceId}")
void delResource(String roleId, String resourceId);
/**
* 通过角色Id列表查询资源Id列表
* @param roleIds:角色ID列表
* @return List<String>
*/
List<String> getResourceIdsByRoleIds(List<String> roleIds);
}
@@ -0,0 +1,14 @@
package com.adc.da.slrs.sarRole.entity;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class TsRoleResourceVO {
@NotNull(message = "roleId不能为空")
private String roleId;
@NotNull(message = "resourceIds不能为空")
private List<String> resourceIds;
}
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarRole.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -71,4 +72,10 @@ public interface ITsRoleService extends IService<TsRole> {
* @return List<String>
*/
List<String> getMenuIdsByRoleIds(List<String> roleIds);
ResponseMessage<Object> setResource(TsRoleResourceVO tsRoleResourceVO);
List<String> getResource(String roleId);
List<String> getResourceIdsByRoleIds(List<String> roleIds);
}
@@ -8,6 +8,7 @@ import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
import com.adc.da.slrs.sarRole.entity.TsRoleMenuVO;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.utils.util.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -197,5 +198,58 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
return null;
}
/**
* 配置资源
* @param tsRoleResourceVO:资源ID
* @return ResponseMessage<Object>
*/
@Override
public ResponseMessage<Object> setResource(TsRoleResourceVO tsRoleResourceVO) {
TsRole role=tsRoleDao.selectById(tsRoleResourceVO.getRoleId());
if(role==null){
return Result.error("该角色不存在");
}
List<String> oldResourceIds=tsRoleDao.getResourceIds(tsRoleResourceVO.getRoleId());
Map<String,List<String>> updateMenuIds= ListUtil.difList(tsRoleResourceVO.getResourceIds(),oldResourceIds);
List<String> insertIds=updateMenuIds.get("insert");
List<String> deleteIds=updateMenuIds.get("delete");
if(insertIds!=null&&insertIds.size()>0){
for(String menuId:insertIds){
tsRoleDao.addResource(tsRoleResourceVO.getRoleId(),menuId);
}
}
if(deleteIds!=null&&deleteIds.size()>0){
for(String menuId:deleteIds){
tsRoleDao.delResource(tsRoleResourceVO.getRoleId(),menuId);
}
}
//修改首页自定义目录
// List<SarMenu> menus=sarMenuService.getMenusByIds(tsRoleMenuVO.getMenuIds());
return Result.success();
}
/**
* 查询角色资源
* @param roleId:角色ID
* @return List<String>
*/
@Override
public List<String> getResource(String roleId) {
return tsRoleDao.getResourceIds(roleId);
}
/**
* 通过角色Id列表查询菜单Id列表
* @param roleIds:角色ID列表
* @return List<String>
*/
@Override
public List<String> getResourceIdsByRoleIds(List<String> roleIds) {
if(roleIds!=null&&roleIds.size()>0){
return tsRoleDao.getResourceIdsByRoleIds(roleIds);
}
return null;
}
}