feat(permission): 更新权限角色API映射功能

- 修改数据库查询将table_name字段改为显示table_desc描述信息
- 注释掉getProductLines接口方法以优化代码结构
- 注释掉getUsers接口方法并将查询条件从id改为roleId
- 在PermissionRoleApiMapVO中新增用户ID列表和产品线列表的转换逻辑
- 添加users和productLines字段的JSON忽略注解
- 实现字符串到整数列表和字符串到字符串列表的自动转换方法
This commit is contained in:
曹鹏飞 2026-02-28 18:21:39 +08:00
parent 10e94a4784
commit cc64cc5a47
3 changed files with 62 additions and 30 deletions

View File

@ -189,20 +189,20 @@ public class DataPermissionController extends ControllerBase {
return ApiResult.success(); return ApiResult.success();
} }
/** // /**
* 获取产品线 // * 获取产品线
*/ // */
@GetMapping("getProductLines") // @GetMapping("getProductLines")
public ApiResult<List<String>> getProductLines(@RequestParam Long id) { // public ApiResult<List<String>> getProductLines(@RequestParam Long id) {
AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery() // AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery()
.select(AdminPermissionRoleApiMap::getProductLines) // .select(AdminPermissionRoleApiMap::getProductLines)
.eq(AdminPermissionRoleApiMap::getId, id) // .eq(AdminPermissionRoleApiMap::getId, id)
.one(); // .one();
if (Objects.isNull(data)) { // if (Objects.isNull(data)) {
return ApiResult.success(Collections.emptyList()); // return ApiResult.success(Collections.emptyList());
} // }
return ApiResult.success(StrUtil.split(data.getProductLines(), ",")); // return ApiResult.success(StrUtil.split(data.getProductLines(), ","));
} // }
// /** // /**
// * 设置产品线 // * 设置产品线
@ -216,20 +216,20 @@ public class DataPermissionController extends ControllerBase {
// return ApiResult.success(); // return ApiResult.success();
// } // }
/** // /**
* 获取指定的用户 // * 获取指定的用户
*/ // */
@GetMapping("getUsers") // @GetMapping("getUsers")
public ApiResult<List<AdminUserSimpleVO>> getUsers(@RequestParam Long id) { // public ApiResult<List<AdminUserSimpleVO>> getUsers(@RequestParam Long id) {
AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery() // AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery()
.select(AdminPermissionRoleApiMap::getUsers) // .select(AdminPermissionRoleApiMap::getUsers)
.eq(AdminPermissionRoleApiMap::getId, id) // .eq(AdminPermissionRoleApiMap::getRoleId, id)
.one(); // .one();
if (Objects.isNull(data)) { // if (Objects.isNull(data)) {
return ApiResult.success(Collections.emptyList()); // return ApiResult.success(Collections.emptyList());
} // }
return ApiResult.success(adminUserService.getSimples(Arrays.stream(StrUtil.splitToInt(data.getUsers(), ",")).boxed().collect(Collectors.toList()))); // return ApiResult.success(adminUserService.getSimples(Arrays.stream(StrUtil.splitToInt(data.getUsers(), ",")).boxed().collect(Collectors.toList())));
} // }
// //
// /** // /**
// * 设置指定的用户 // * 设置指定的用户

View File

@ -1,8 +1,13 @@
package com.nflg.mobilebroken.common.pojo.vo; package com.nflg.mobilebroken.common.pojo.vo;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Data @Data
public class PermissionRoleApiMapVO { public class PermissionRoleApiMapVO {
@ -47,7 +52,34 @@ public class PermissionRoleApiMapVO {
/** /**
* 是否选中 * 是否选中
*/ */
private Boolean selected=false; private Boolean selected = false;
@JsonIgnore
private String users;
/**
* 用户id列表
*/
private List<Integer> userIds;
public List<Integer> getUserIds() {
return Arrays.stream(StrUtil.splitToInt(users, ',')).boxed().collect(Collectors.toList());
}
/**
* 产品线
*/
@JsonIgnore
private String productLines;
/**
* 产品线列表
*/
private List<String> productLineList;
public List<String> getProductLineList() {
return StrUtil.split(productLines, ',');
}
// /** // /**
// * 创建人 // * 创建人

View File

@ -3,7 +3,7 @@
<mapper namespace="com.nflg.mobilebroken.repository.mapper.AdminPermissionRoleApiMapMapper"> <mapper namespace="com.nflg.mobilebroken.repository.mapper.AdminPermissionRoleApiMapMapper">
<select id="getList" resultType="com.nflg.mobilebroken.common.pojo.vo.PermissionRoleApiMapVO"> <select id="getList" resultType="com.nflg.mobilebroken.common.pojo.vo.PermissionRoleApiMapVO">
SELECT map.*, t.table_name,aa.module_name,api.api_name,true as 'selected' SELECT map.*, t.table_desc AS 'table_name',aa.module_name,api.api_name,true as 'selected'
FROM admin_permission_role_api_map map FROM admin_permission_role_api_map map
INNER JOIN admin_permission_table t ON map.table_id = t.id INNER JOIN admin_permission_table t ON map.table_id = t.id
INNER JOIN admin_permission_api api ON api.table_id = map.table_id INNER JOIN admin_permission_api api ON api.table_id = map.table_id