资源管理
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user