feat:(REQ-2186) 更换PageConverter的引入和方法
This commit is contained in:
parent
b810f9b569
commit
e137bfee89
@ -23,6 +23,7 @@ public enum FeatureResourceType {
|
||||
PAGE(2, "页面"),
|
||||
APP_ENTRY(3, "应用入口"),
|
||||
COMPONENT(4, "组件"),
|
||||
ROOT(5, "ROOT"),
|
||||
;
|
||||
|
||||
private static final Map<Integer, FeatureResourceType> MAPPING = new HashMap<>();
|
||||
|
||||
@ -21,7 +21,7 @@ public class BaseFeatureResourceDO {
|
||||
/** 资源名称 **/
|
||||
private String featureName;
|
||||
|
||||
/** 资源类型 1-菜单 2-页面 3-应用入口 4-组件 **/
|
||||
/** 资源类型 1-菜单 2-页面 3-应用入口 4-组件 5-ROOT根节点 **/
|
||||
private Integer featureType;
|
||||
|
||||
/** 资源编码 **/
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package cn.axzo.tyr.server.controller;
|
||||
|
||||
import cn.axzo.tyr.client.common.enums.FeatureResourceType;
|
||||
import cn.axzo.tyr.client.model.req.CommonDictQueryReq;
|
||||
import cn.axzo.tyr.client.model.req.FeatureResourceTreeSaveReq;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasRoleGroupReq;
|
||||
import cn.axzo.tyr.client.model.res.CommonDictResp;
|
||||
import cn.axzo.tyr.client.model.res.SaasRoleRes;
|
||||
@ -11,14 +13,21 @@ import cn.axzo.tyr.server.repository.entity.SaasRoleGroup;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||
import cn.axzo.tyr.server.service.RoleService;
|
||||
import cn.axzo.tyr.server.service.SaasCommonDictService;
|
||||
import cn.axzo.tyr.server.service.SaasFeatureResourceService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleGroupService;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
@ -40,6 +49,8 @@ public class PrivateController {
|
||||
private SaasRoleGroupRelationDao saasRoleGroupRelationDao;
|
||||
@Autowired
|
||||
private RoleService roleService;
|
||||
@Autowired
|
||||
private SaasFeatureResourceService saasFeatureResourceService;
|
||||
|
||||
/**
|
||||
* 统一层级的roleGroup按照id升序,sort从1递增
|
||||
@ -148,4 +159,19 @@ public class PrivateController {
|
||||
roleService.updateBatchById(updateSaasRoles);
|
||||
return "ok";
|
||||
}
|
||||
|
||||
// @PostMapping("/api/private/saasFeatureResourceRoot/create")
|
||||
// public Object createFeatureResourceRoot(@RequestBody ) {
|
||||
// FeatureResourceTreeSaveReq featureResourceTreeSaveReq = FeatureResourceTreeSaveReq.builder()
|
||||
// .parentId(0L)
|
||||
// .featureName(e.getDictValue())
|
||||
// .featureType(FeatureResourceType.ROOT.getCode())
|
||||
// .featureCode(e.getDictCode() + ":" + FeatureResourceType.ROOT.getDesc())
|
||||
// .terminal(e.getDictCode())
|
||||
// .operatorId()
|
||||
// .build();
|
||||
// saasFeatureResourceService.saveOrUpdateMenu(featureResourceTreeSaveReq);
|
||||
// return "ok";
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ public class SaasFeatureResource extends BaseEntity<SaasFeature> {
|
||||
private String featureName;
|
||||
|
||||
/**
|
||||
* 资源类型1-菜单 2-页面 3-应用入口 4-组件
|
||||
* 资源类型1-菜单 2-页面 3-应用入口 4-组件;5-root节点
|
||||
*/
|
||||
private Integer featureType;
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package cn.axzo.tyr.server.service;
|
||||
|
||||
import cn.axzo.pokonyan.dao.page.IPageParam;
|
||||
import cn.axzo.foundation.page.IPageReq;
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.pokonyan.dao.wrapper.CriteriaField;
|
||||
import cn.axzo.pokonyan.dao.wrapper.Operator;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||
@ -18,7 +19,7 @@ public interface SaasRoleGroupRelationService extends IService<SaasRoleGroupRela
|
||||
|
||||
List<SaasRoleGroupRelation> list(ListSaasRoleGroupRelationParam param);
|
||||
|
||||
Page<SaasRoleGroupRelation> page(PageSaasRoleGroupRelationParam param);
|
||||
PageResp<SaasRoleGroupRelation> page(PageSaasRoleGroupRelationParam param);
|
||||
|
||||
@SuperBuilder
|
||||
@Data
|
||||
@ -38,7 +39,7 @@ public interface SaasRoleGroupRelationService extends IService<SaasRoleGroupRela
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
class PageSaasRoleGroupRelationParam extends ListSaasRoleGroupRelationParam implements IPageParam {
|
||||
class PageSaasRoleGroupRelationParam extends ListSaasRoleGroupRelationParam implements IPageReq {
|
||||
@CriteriaField(ignore = true)
|
||||
Integer page;
|
||||
|
||||
|
||||
@ -128,8 +128,10 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(PermissionCheckReq req) {
|
||||
|
||||
//这里暂时硬编码-非OMS端鉴权请求 直接转老接口处理
|
||||
if (!StrUtil.equals("NT_OMS_WEB" ,req.getTerminal())) {
|
||||
if (!StrUtil.equals("NT_OMS_WEB" ,req.getTerminal())
|
||||
&& !Objects.equals(TerminalInfo.NT_PC_GA_GENERAL, req.getTerminal())) {
|
||||
return hasPermissionV2(req);
|
||||
}
|
||||
//权限编码转ID
|
||||
|
||||
@ -1184,7 +1184,7 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
|
||||
|
||||
Map<Long, List<SaasRoleUserV2DTO.SaasRoleUser>> saasRoleUsers = listSaasRoleUser(param, page.getRecords());
|
||||
|
||||
return PageConverter.convert(page, (record) -> from(record,
|
||||
return PageConverter.toResp(page, (record) -> from(record,
|
||||
saasRoleGroups,
|
||||
saasPermissions,
|
||||
saasRoleUsers));
|
||||
|
||||
@ -30,7 +30,8 @@ public class SaasCommonDictServiceImpl implements SaasCommonDictService {
|
||||
private final SaasCommonDictDao commonDictDao;
|
||||
|
||||
@Override
|
||||
public List<CommonDictResp> query(CommonDictQueryReq req) {
|
||||
public List<CommonDictResp>
|
||||
query(CommonDictQueryReq req) {
|
||||
|
||||
List<SaasCommonDict> list = commonDictDao.lambdaQuery()
|
||||
.eq(Objects.nonNull(req.getScope()), SaasCommonDict::getScope, req.getScope())
|
||||
|
||||
@ -121,16 +121,16 @@ public class SaasFeatureResourceServiceImpl implements SaasFeatureResourceServic
|
||||
|
||||
@Override
|
||||
public List<FeatureResourceTreeNode> getTree(GetFeatureResourceTreeReq req) {
|
||||
List<CommonDictResp> commonDictResponses = saasCommonDictService.query(CommonDictQueryReq.builder().scope(RESOURCE_TERMINAL_SCOPE).build());
|
||||
if (CollectionUtils.isEmpty(commonDictResponses)) {
|
||||
log.error("not config resource terminal in saas_common_dict table");
|
||||
return Collections.emptyList();
|
||||
}
|
||||
// List<CommonDictResp> commonDictResponses = saasCommonDictService.query(CommonDictQueryReq.builder().scope(RESOURCE_TERMINAL_SCOPE).build());
|
||||
// if (CollectionUtils.isEmpty(commonDictResponses)) {
|
||||
// log.error("not config resource terminal in saas_common_dict table");
|
||||
// return Collections.emptyList();
|
||||
// }
|
||||
|
||||
final AtomicLong rootIdIndex = new AtomicLong(0L);
|
||||
List<FeatureResourceTreeNode> rootNodes = commonDictResponses.stream().map(e -> FeatureResourceTreeNode.builder()
|
||||
.id(rootIdIndex.decrementAndGet()).terminal(e.getDictCode()).featureName(e.getDictValue())
|
||||
.featureCode(e.getDictCode()).featureType(-1).children(Lists.newArrayList()).build()).collect(Collectors.toList());
|
||||
// final AtomicLong rootIdIndex = new AtomicLong(0L);
|
||||
// List<FeatureResourceTreeNode> rootNodes = commonDictResponses.stream().map(e -> FeatureResourceTreeNode.builder()
|
||||
// .id(rootIdIndex.decrementAndGet()).terminal(e.getDictCode()).featureName(e.getDictValue())
|
||||
// .featureCode(e.getDictCode()).featureType(-1).children(Lists.newArrayList()).build()).collect(Collectors.toList());
|
||||
|
||||
StopWatchUtil watch = StopWatchUtil.createStarted("feature-resource-tree");
|
||||
watch.start("dbQuery");
|
||||
@ -148,13 +148,13 @@ public class SaasFeatureResourceServiceImpl implements SaasFeatureResourceServic
|
||||
|
||||
//搜索或需要按授权策略过滤 - 有额外的过滤条件
|
||||
watch.start("filter-node");
|
||||
List<FeatureResourceTreeNode> filterResultNode = filterTreeNode(req.getKeyword(), treeList);
|
||||
List<FeatureResourceTreeNode> resultNode = filterTreeNode(req.getKeyword(), treeList);
|
||||
watch.stop();
|
||||
|
||||
//把处理后的树结构添加上根节点
|
||||
watch.start("fill-children-to-root");
|
||||
List<FeatureResourceTreeNode> resultNode = fillChildren2Root(rootNodes, filterResultNode);
|
||||
watch.stop();
|
||||
// watch.start("fill-children-to-root");
|
||||
// List<FeatureResourceTreeNode> resultNode = fillChildren2Root(rootNodes, filterResultNode);
|
||||
// watch.stop();
|
||||
|
||||
log.info("feature-resource-tree cost:{} , ms:{}", watch.prettyPrint(), watch.getTotalTimeMillis());
|
||||
return resultNode;
|
||||
|
||||
@ -1,14 +1,15 @@
|
||||
package cn.axzo.tyr.server.service.impl;
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.pokonyan.dao.converter.PageConverter;
|
||||
import cn.axzo.pokonyan.dao.mysql.QueryWrapperHelper;
|
||||
import cn.axzo.foundation.dao.support.converter.PageConverter;
|
||||
import cn.axzo.foundation.dao.support.mysql.QueryWrapperHelper;
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasRoleGroupRelationDao;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasRoleGroupRelation;
|
||||
import cn.axzo.tyr.server.repository.mapper.SaasRoleGroupRelationMapper;
|
||||
import cn.axzo.tyr.server.service.SaasRoleGroupRelationService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -19,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@ -63,10 +65,11 @@ public class SaasRoleGroupRelationServiceImpl extends ServiceImpl<SaasRoleGroupR
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SaasRoleGroupRelation> page(PageSaasRoleGroupRelationParam param) {
|
||||
public PageResp<SaasRoleGroupRelation> page(PageSaasRoleGroupRelationParam param) {
|
||||
QueryWrapper<SaasRoleGroupRelation> wrapper = QueryWrapperHelper.fromBean(param, SaasRoleGroupRelation.class);
|
||||
wrapper.eq("is_delete", 0);
|
||||
IPage<SaasRoleGroupRelation> page = this.page(PageConverter.toMybatis(param, SaasRoleGroupRelation.class), wrapper);
|
||||
|
||||
return this.page(PageConverter.convertToMybatis(param, SaasRoleGroupRelation.class), wrapper);
|
||||
return PageConverter.toResp(page, Function.identity());
|
||||
}
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ public class SaasRoleUserRelationServiceImpl extends ServiceImpl<SaasRoleUserRel
|
||||
|
||||
Map<Long, SaasRoleUserV2DTO.SaasRoleUser> saasRoleUsers = listSaasRoleUser(param, page.getRecords());
|
||||
|
||||
return PageConverter.convert(page, (record) -> from(record, saasRoleUsers));
|
||||
return PageConverter.toResp(page, (record) -> from(record, saasRoleUsers));
|
||||
}
|
||||
|
||||
private Map<Long, SaasRoleUserV2DTO.SaasRoleUser> listSaasRoleUser(PageRoleUserRelationParam param,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user