fix(权限点): 兼容直接查询workspacetype

This commit is contained in:
zhansihu 2023-09-13 11:42:03 +08:00
parent af0ef14370
commit 1742289754
2 changed files with 19 additions and 3 deletions

View File

@ -2,6 +2,7 @@ package cn.axzo.tyr.server.repository;
import cn.axzo.basics.common.BeanMapper;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.tyr.client.model.DictTypeFiledEnum;
import cn.axzo.tyr.client.model.dict.request.BasicDictNodeReq;
import cn.axzo.tyr.client.model.dict.request.BasicDictQueryReq;
import cn.axzo.tyr.client.model.dict.request.BasicDictUpdateReq;
@ -9,6 +10,7 @@ import cn.axzo.tyr.client.model.dict.request.BasicDictUpdateStatusReq;
import cn.axzo.tyr.client.model.dict.response.BasicDictNodeResp;
import cn.axzo.tyr.server.repository.entity.SaasBasicDict;
import cn.axzo.tyr.server.repository.mapper.SaasBasicDictMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@ -61,4 +63,11 @@ public class SaasBasicDictDao extends ServiceImpl<SaasBasicDictMapper, SaasBasic
.update();
return ApiResult.ok(update);
}
public BasicDictNodeResp getWorkspaceType(String workspaceType) {
SaasBasicDict dict = this.getOne(new LambdaQueryWrapper<SaasBasicDict>()
.eq(SaasBasicDict::getType, DictTypeFiledEnum.WORKSPACE.getValue())
.eq(SaasBasicDict::getWorkspaceType, workspaceType));
return BeanMapper.copyBean(dict, BasicDictNodeResp.class);
}
}

View File

@ -210,9 +210,7 @@ public class PermissionPointServiceImpl implements PermissionPointService {
terminalReq.setCode(feature.getTerminal());
terminalReq.setType(DictTypeFiledEnum.TERMINAL);
BasicDictNodeResp terminal = saasBasicDictDao.getBasicDictNode(terminalReq);
terminalReq.setType(DictTypeFiledEnum.WORKSPACE);
terminalReq.setCode(terminal.getWorkspaceType());
BasicDictNodeResp workspace = saasBasicDictDao.getBasicDictNode(terminalReq);
BasicDictNodeResp workspace = saasBasicDictDao.getWorkspaceType(terminal.getWorkspaceType());
List<String> pathName = new ArrayList<>();
pathName.add(workspace.getName());
pathName.add(terminal.getName());
@ -310,12 +308,21 @@ public class PermissionPointServiceImpl implements PermissionPointService {
//删除自己
this.saasFeatureDao.removeById(permissionPointId);
delIds.add(feature.getId());
if (feature.getFeatureType().equals(FeatureType.BUTTON.getCode())) {
//bizNo返回用于删除路由
bizNoList.add(feature.getBusinessNo());
}
//删除所有子节点
List<SaasFeature> children = this.saasFeatureDao.listLikePath(feature.getPath() + feature.getId() + FEATURE_PATH_DELIMITER);
if (CollectionUtil.isNotEmpty(children)) {
List<Long> childrenIds = children.stream().map(SaasFeature::getId).collect(Collectors.toList());
this.saasFeatureDao.removeByIds(childrenIds);
delIds.addAll(childrenIds);
List<String> buttonBizNoList = children.stream()
.filter(x -> x.getFeatureType().equals(FeatureType.BUTTON.getCode()))
.map(SaasFeature::getBusinessNo)
.collect(Collectors.toList());
bizNoList.addAll(buttonBizNoList);
}
this.saasPgroupPermissionRelationDao.removeByPermissionPointIds(delIds);
return bizNoList;