Merge branch 'hotfix/20241021' into feature/REQ-2595
This commit is contained in:
commit
0d18367995
@ -22,4 +22,8 @@ public class DetailFeatureResourceReq {
|
||||
* 资源类型1-菜单 2-页面 3-应用入口 4-组件;5-root节点
|
||||
*/
|
||||
private Integer featureType;
|
||||
|
||||
private Boolean needChildren;
|
||||
|
||||
private Boolean needPageElement;
|
||||
}
|
||||
|
||||
@ -42,6 +42,7 @@ import cn.axzo.tyr.server.model.convert.SaasFeatureResourceConvert;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasFeatureDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasFeatureResourceDao;
|
||||
import cn.axzo.tyr.server.repository.dao.SaasPgroupRoleRelationDao;
|
||||
import cn.axzo.tyr.server.repository.entity.ProductModule;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasFeature;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasFeatureResource;
|
||||
import cn.axzo.tyr.server.repository.entity.SaasPageElementFeatureResourceRelation;
|
||||
@ -58,8 +59,11 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.lang.Pair;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
@ -299,11 +303,19 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
|
||||
|
||||
@Override
|
||||
public FeatureResourceTreeNode getTreeFeatureDescendant(DetailFeatureResourceReq param) {
|
||||
List<SaasFeatureResource> descendants = featureResourceDao.lambdaQuery()
|
||||
|
||||
LambdaQueryChainWrapper<SaasFeatureResource> wrapper = featureResourceDao.lambdaQuery()
|
||||
.eq(BaseEntity::getIsDelete,0)
|
||||
.eq(ObjectUtil.isNotNull(param.getFeatureType()), SaasFeatureResource::getFeatureType, param.getFeatureType())
|
||||
.apply("FIND_IN_SET('" + param.getFeatureId() + "', path)")
|
||||
.list();
|
||||
.eq(ObjectUtil.isNotNull(param.getFeatureType()), SaasFeatureResource::getFeatureType, param.getFeatureType());
|
||||
|
||||
if (BooleanUtils.isTrue(param.getNeedChildren())) {
|
||||
wrapper.apply("FIND_IN_SET('" + param.getFeatureId() + "', path)");
|
||||
} else {
|
||||
wrapper.eq(BaseEntity::getId, param.getFeatureId());
|
||||
}
|
||||
|
||||
List<SaasFeatureResource> descendants = wrapper.list();
|
||||
|
||||
if (CollectionUtil.isEmpty(descendants)) {
|
||||
return null;
|
||||
}
|
||||
@ -323,7 +335,7 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
|
||||
FeatureResourceTreeNode featureResourceTreeNode = treeList.get(0);
|
||||
|
||||
List<String> allUniCodes = descendants.stream().map(SaasFeatureResource::getUniCode).filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||
fillPageElement2PageFeatureResource(treeList, allUniCodes);
|
||||
fillPageElement2PageFeatureResource(treeList, allUniCodes, param);
|
||||
return featureResourceTreeNode;
|
||||
}
|
||||
|
||||
@ -802,7 +814,13 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
|
||||
return parent.getPath();
|
||||
}
|
||||
|
||||
private void fillPageElement2PageFeatureResource(List<FeatureResourceTreeNode> featureResourceTreeNodes, List<String> allUniCodes) {
|
||||
private void fillPageElement2PageFeatureResource(List<FeatureResourceTreeNode> featureResourceTreeNodes,
|
||||
List<String> allUniCodes,
|
||||
DetailFeatureResourceReq detailFeatureResourceReq) {
|
||||
if (BooleanUtils.isNotTrue(detailFeatureResourceReq.getNeedPageElement())) {
|
||||
return;
|
||||
}
|
||||
|
||||
Map<String, List<PageElementBasicDTO>> uniCodeElementsMap = saasPageElementService.getByTerminalAndUniCodes(featureResourceTreeNodes.get(0).getTerminal(), allUniCodes)
|
||||
.stream().collect(Collectors.groupingBy(PageElementBasicDTO::getUniCode));
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user