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();
}
/**
* 获取产品线
*/
@GetMapping("getProductLines")
public ApiResult<List<String>> getProductLines(@RequestParam Long id) {
AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery()
.select(AdminPermissionRoleApiMap::getProductLines)
.eq(AdminPermissionRoleApiMap::getId, id)
.one();
if (Objects.isNull(data)) {
return ApiResult.success(Collections.emptyList());
}
return ApiResult.success(StrUtil.split(data.getProductLines(), ","));
}
// /**
// * 获取产品线
// */
// @GetMapping("getProductLines")
// public ApiResult<List<String>> getProductLines(@RequestParam Long id) {
// AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery()
// .select(AdminPermissionRoleApiMap::getProductLines)
// .eq(AdminPermissionRoleApiMap::getId, id)
// .one();
// if (Objects.isNull(data)) {
// return ApiResult.success(Collections.emptyList());
// }
// return ApiResult.success(StrUtil.split(data.getProductLines(), ","));
// }
// /**
// * 设置产品线
@ -216,20 +216,20 @@ public class DataPermissionController extends ControllerBase {
// return ApiResult.success();
// }
/**
* 获取指定的用户
*/
@GetMapping("getUsers")
public ApiResult<List<AdminUserSimpleVO>> getUsers(@RequestParam Long id) {
AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery()
.select(AdminPermissionRoleApiMap::getUsers)
.eq(AdminPermissionRoleApiMap::getId, id)
.one();
if (Objects.isNull(data)) {
return ApiResult.success(Collections.emptyList());
}
return ApiResult.success(adminUserService.getSimples(Arrays.stream(StrUtil.splitToInt(data.getUsers(), ",")).boxed().collect(Collectors.toList())));
}
// /**
// * 获取指定的用户
// */
// @GetMapping("getUsers")
// public ApiResult<List<AdminUserSimpleVO>> getUsers(@RequestParam Long id) {
// AdminPermissionRoleApiMap data = permissionRoleApiMapService.lambdaQuery()
// .select(AdminPermissionRoleApiMap::getUsers)
// .eq(AdminPermissionRoleApiMap::getRoleId, id)
// .one();
// if (Objects.isNull(data)) {
// return ApiResult.success(Collections.emptyList());
// }
// 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;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Data
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">
<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
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