feat(REQ-2699):菜单资源增加多工作台类型支持

This commit is contained in:
李昆鹏 2024-08-06 14:08:28 +08:00
parent 8b54388a96
commit fd86f41f38
5 changed files with 32 additions and 6 deletions

View File

@ -39,6 +39,11 @@ public class FeatureResourceTreeSaveReq extends BaseFeatureResourceDO {
*/
private Long workspaceType;
/**
* 应用范围(租户类型)1:企业工作台 2;项目工作台 以英文逗号分隔
*/
private String workspaceTypes;
/**
* 最低版本序列,主要支持版本灰度策略
*/

View File

@ -144,6 +144,11 @@ public class FeatureResourceDTO implements Serializable {
*/
private Long workspaceType;
/**
* 应用范围(租户类型)1:企业工作台 2;项目工作台 以英文逗号分隔
*/
private String workspaceTypes;
/**
* 最低版本序列,主要支持版本灰度策略
*/

View File

@ -162,6 +162,11 @@ public class SaasFeatureResource extends BaseEntity<SaasFeatureResource> {
*/
private Long workspaceType;
/**
* 应用范围(租户类型)1:企业工作台 2;项目工作台 以英文逗号分隔 cmp的应用可以配置支持多工作台类型
*/
private String workspaceTypes;
/**
* 最低版本序列,主要支持版本灰度策略
*/

View File

@ -68,6 +68,12 @@ public class SaasPageElement extends BaseEntity<SaasPageElement> {
@TableField("app_type")
private String appType;
/**
* 项目codeH5会拉取项目下所有的元素
*/
@TableField("item_code")
private String itemCode;
/**
* 客户端版本号
*/

View File

@ -55,12 +55,7 @@ import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import static cn.axzo.tyr.server.config.exception.BizResultCode.FEATURE_RESOURCE_NOT_FOUND;
@ -172,6 +167,12 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
return true;
}
if (org.apache.commons.lang3.StringUtils.isNotBlank(e.getWorkspaceTypes())) {
// cmp的应用可以配置支持多工作台类型
List<String> dbWorkspaceTypes = Arrays.stream(e.getWorkspaceTypes().split(",")).collect(Collectors.toList());
return dbWorkspaceTypes.contains(req.getWorkspaceType().toString());
}
// 数据库默认值为0
if (Objects.equals(e.getWorkspaceType(), DEFAULT_WORKSPACE_TYPE)) {
return true;
@ -205,6 +206,10 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
@Transactional(rollbackFor = Exception.class)
@CacheEvict(value = SaasFeatureResourceCacheService.CACHE_FEATURE_RESOURCE_TREE,allEntries = true)
public Long saveOrUpdateMenu(FeatureResourceTreeSaveReq req) {
// omscms已有接口未传workspaceTypes的通过workspaceType补充
if (StringUtils.isBlank(req.getWorkspaceTypes()) && Objects.nonNull(req.getWorkspaceType()) && req.getWorkspaceType() > 0) {
req.setWorkspaceTypes(req.getWorkspaceType().toString());
}
SaasFeatureResource baseResource = BeanMapper.copyBean(req, SaasFeatureResource.class);
baseResource.setUpdateBy(req.getOperatorId());
// 新增时候