feat: bug-369 添加对产品线和数据权限的支持

This commit is contained in:
曹鹏飞 2025-06-24 17:47:59 +08:00
parent ea56baf50d
commit dcee2895e6
7 changed files with 24 additions and 14 deletions

View File

@ -27,7 +27,7 @@ import java.util.List;
*/
@RestController
@RequestMapping("/datarole")
public class DataRoleController {
public class DataRoleController extends ControllerBase{
@Resource
private IDataRoleService dataRoleService;
@ -41,7 +41,7 @@ public class DataRoleController {
*/
@GetMapping("getModules")
@ApiMark(moduleName = "数据权限角色管理", apiName = "获取数据权限模块列表",isPublic = true)
private ApiResult<List<DictionaryItem>> getModules(){
public ApiResult<List<DictionaryItem>> getModules(){
return ApiResult.success(dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_DATAPERMISSION));
}

View File

@ -9,8 +9,17 @@ import java.util.Objects;
@AllArgsConstructor
public enum ProductionLinePermissionType {
/**
* 只看自己
*/
ShowMe(0, "只看自己"),
/**
* 只看本产品线
*/
ShowOwned(1, "只看本产品线"),
/**
* 自定义产品线
*/
Customize(2, "自定义产品线");
private final int type;

View File

@ -17,9 +17,10 @@ public class DataRoleItemRequest {
/**
* 产品线权限类型
* @see ProductionLinePermissionType
*/
@NotNull
private ProductionLinePermissionType type;
private int type;
/**
* 产品线ID列表

View File

@ -1,12 +1,12 @@
package com.nflg.mobilebroken.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.mobilebroken.common.pojo.PageData;
import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
import com.nflg.mobilebroken.repository.entity.DataRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
@ -20,7 +20,7 @@ import java.util.List;
*/
public interface DataRoleMapper extends BaseMapper<DataRole> {
PageData<DataRoleVO> search(RoleSearchRequest request, Page<?> page);
IPage<DataRoleVO> search(RoleSearchRequest request, Page<?> page);
List<SimpleVO> getSimpleRoles();
}

View File

@ -1,6 +1,7 @@
package com.nflg.mobilebroken.repository.service;
import com.nflg.mobilebroken.common.pojo.PageData;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.mobilebroken.common.pojo.request.DataRoleAddRequest;
import com.nflg.mobilebroken.common.pojo.request.DataRoleUpdateRequest;
import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest;
@ -8,7 +9,6 @@ import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
import com.nflg.mobilebroken.repository.entity.DataRole;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.validation.Valid;
import java.util.List;
@ -29,7 +29,7 @@ public interface IDataRoleService extends IService<DataRole> {
void enable(@Valid EnableRoleRequest request);
PageData<DataRoleVO> search(@Valid RoleSearchRequest request);
IPage<DataRoleVO> search(@Valid RoleSearchRequest request);
List<SimpleVO> getSimpleRoles();
}

View File

@ -388,11 +388,11 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
DataRoleItemRequest cfg=configs.stream().filter(c -> Objects.equals(c.getModuleId(), item.getId())).findFirst().orElse(null);
if (Objects.isNull(cfg)){
return defaultProductionLineIds;
}else if (Objects.equals(cfg.getType().getType(), ProductionLinePermissionType.ShowMe.getType())){
}else if (Objects.equals(cfg.getType(), ProductionLinePermissionType.ShowMe.getType())){
return null;
}else if (Objects.equals(cfg.getType().getType(), ProductionLinePermissionType.ShowOwned.getType())){
}else if (Objects.equals(cfg.getType(), ProductionLinePermissionType.ShowOwned.getType())){
return defaultProductionLineIds;
}else if (Objects.equals(cfg.getType().getType(), ProductionLinePermissionType.Customize.getType())){
}else if (Objects.equals(cfg.getType(), ProductionLinePermissionType.Customize.getType())){
return cfg.getProductionLineIds();
}
return defaultProductionLineIds;

View File

@ -1,9 +1,9 @@
package com.nflg.mobilebroken.repository.service.impl;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.mobilebroken.common.pojo.PageData;
import com.nflg.mobilebroken.common.pojo.request.DataRoleAddRequest;
import com.nflg.mobilebroken.common.pojo.request.DataRoleUpdateRequest;
import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest;
@ -67,7 +67,7 @@ public class DataRoleServiceImpl extends ServiceImpl<DataRoleMapper, DataRole> i
}
@Override
public PageData<DataRoleVO> search(RoleSearchRequest request) {
public IPage<DataRoleVO> search(RoleSearchRequest request) {
return baseMapper.search(request, new Page<>(request.getPage(), request.getPageSize()));
}