feat:(REQ-3167) 修改端的添加和clone时的验证提示语
This commit is contained in:
parent
4987ba92ef
commit
f5af6719df
@ -43,6 +43,9 @@ public class PageSaasFeatureResourceReq implements IPageReq {
|
||||
@CriteriaField(field = "authType", operator = Operator.EQ)
|
||||
private Integer authType;
|
||||
|
||||
@CriteriaField(field = "featureName", operator = Operator.EQ)
|
||||
private String featureName;
|
||||
|
||||
/**
|
||||
* 资源所属端
|
||||
*/
|
||||
|
||||
@ -28,9 +28,10 @@ public enum BizResultCode implements IResultCode {
|
||||
PAGE_CODE_DUPLICATE("100018", "资源元素code重复,重复的code:{}"),
|
||||
PARAM_ERROR("100019", "参数错误"),
|
||||
FEATURE_NAME_EXIST("100020", "菜单组件名字已经存在:{}"),
|
||||
TERMINAL_EXIST("100021", "新端已经存在:{}"),
|
||||
TERMINAL_CODE_EXIST("100021", "端code已经存在,请修改"),
|
||||
TERMINAL_NOT_FOUND("100022", "原端不存在:{}"),
|
||||
FEATURE_CODE_OVER_LENGTH("100023", "组件code不能超过100个字符:{}");
|
||||
FEATURE_CODE_OVER_LENGTH("100023", "组件code不能超过100个字符:{}"),
|
||||
TERMINAL_NAME_EXIST("100024", "端名字已经存在,请修改");
|
||||
|
||||
|
||||
private String errorCode;
|
||||
|
||||
@ -2,6 +2,7 @@ package cn.axzo.tyr.server.controller.terminal;
|
||||
|
||||
import cn.axzo.foundation.dao.support.mysql.MybatisPlusOperatorProcessor;
|
||||
import cn.axzo.foundation.dao.support.wrapper.Operator;
|
||||
import cn.axzo.foundation.exception.Axssert;
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.tyr.client.common.enums.FeatureResourceType;
|
||||
@ -22,7 +23,6 @@ import cn.axzo.tyr.client.model.res.TerminalRes;
|
||||
import cn.axzo.tyr.server.service.SaasFeatureResourceService;
|
||||
import cn.axzo.tyr.server.service.TerminalService;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.collect.Lists;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@ -37,6 +37,7 @@ import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.axzo.tyr.client.model.res.SaasFeatureResourceResp.ROOT_PARENT_ID;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.TERMINAL_NAME_EXIST;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@ -117,9 +118,19 @@ public class TerminalController implements TerminalApi {
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
private void checkTerminalName(CreateTerminalReq req) {
|
||||
List<SaasFeatureResourceResp> newFeatureResources = featureResourceService.list(PageSaasFeatureResourceReq.builder()
|
||||
.featureResourceTypes(Lists.newArrayList(FeatureResourceType.ROOT.getCode()))
|
||||
.featureName(req.getName())
|
||||
.build());
|
||||
Axssert.check(CollectionUtils.isEmpty(newFeatureResources), TERMINAL_NAME_EXIST);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<Long> create(CreateTerminalReq req) {
|
||||
|
||||
checkTerminalName(req);
|
||||
|
||||
FeatureResourceTreeSaveReq featureResourceTreeSaveReq = FeatureResourceTreeSaveReq.builder()
|
||||
.parentId(ROOT_PARENT_ID)
|
||||
.featureName(req.getName())
|
||||
|
||||
@ -96,7 +96,8 @@ import static cn.axzo.tyr.server.config.exception.BizResultCode.FEATURE_CODE_EXI
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.FEATURE_CODE_OVER_LENGTH;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.FEATURE_NAME_EXIST;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.FEATURE_RESOURCE_NOT_FOUND;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.TERMINAL_EXIST;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.TERMINAL_CODE_EXIST;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.TERMINAL_NAME_EXIST;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.TERMINAL_NOT_FOUND;
|
||||
import static cn.axzo.tyr.server.event.inner.EventTypeEnum.SAAS_FEATURE_RESOURCE_UPSERT;
|
||||
import static cn.axzo.tyr.server.repository.entity.SaasFeatureResource.DEFAULT_WORKSPACE_TYPE;
|
||||
@ -1187,16 +1188,7 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
|
||||
@CacheEvict(value = SaasFeatureResourceCacheService.CACHE_FEATURE_RESOURCE_TREE,allEntries = true)
|
||||
public void clone(CloneTerminalReq req) {
|
||||
|
||||
List<SaasFeatureResourceResp> newFeatureResources = this.list(PageSaasFeatureResourceReq.builder()
|
||||
.featureResourceTypes(Lists.newArrayList(FeatureResourceType.ROOT.getCode()))
|
||||
.terminal(req.getNewTerminalCode())
|
||||
.build());
|
||||
Axssert.check(CollectionUtils.isEmpty(newFeatureResources), TERMINAL_EXIST, TERMINAL_EXIST.getErrorMessage(), req.getNewTerminalCode());
|
||||
|
||||
List<SaasFeatureResourceResp> fromTerminalFeatureResources = this.list(PageSaasFeatureResourceReq.builder()
|
||||
.ids(Lists.newArrayList(req.getFromTerminalId()))
|
||||
.build());
|
||||
Axssert.checkNotEmpty(fromTerminalFeatureResources, TERMINAL_NOT_FOUND, TERMINAL_NOT_FOUND.getErrorMessage(), req.getFromTerminalId());
|
||||
check(req);
|
||||
|
||||
PageSaasFeatureResourceReq pageSaasFeatureResourceReq = PageSaasFeatureResourceReq.builder()
|
||||
.parentId(req.getFromTerminalId())
|
||||
@ -1334,4 +1326,36 @@ public class SaasFeatureResourceServiceImpl extends ServiceImpl<SaasFeatureResou
|
||||
Axssert.check(100 > newCode.length(), FEATURE_CODE_OVER_LENGTH, FEATURE_CODE_OVER_LENGTH.getErrorMessage(), newCode);
|
||||
return newCode;
|
||||
}
|
||||
|
||||
private void check(CloneTerminalReq req) {
|
||||
|
||||
checkTerminalCode(req);
|
||||
|
||||
checkTerminalName(req);
|
||||
|
||||
checkFromTerminal(req);
|
||||
}
|
||||
|
||||
private void checkFromTerminal(CloneTerminalReq req) {
|
||||
List<SaasFeatureResourceResp> fromTerminalFeatureResources = this.list(PageSaasFeatureResourceReq.builder()
|
||||
.ids(Lists.newArrayList(req.getFromTerminalId()))
|
||||
.build());
|
||||
Axssert.checkNotEmpty(fromTerminalFeatureResources, TERMINAL_NOT_FOUND, TERMINAL_NOT_FOUND.getErrorMessage(), req.getFromTerminalId());
|
||||
}
|
||||
|
||||
private void checkTerminalName(CloneTerminalReq req) {
|
||||
List<SaasFeatureResourceResp> newFeatureResources = this.list(PageSaasFeatureResourceReq.builder()
|
||||
.featureResourceTypes(Lists.newArrayList(FeatureResourceType.ROOT.getCode()))
|
||||
.featureName(req.getNewTerminalName())
|
||||
.build());
|
||||
Axssert.check(CollectionUtils.isEmpty(newFeatureResources), TERMINAL_NAME_EXIST);
|
||||
}
|
||||
|
||||
private void checkTerminalCode(CloneTerminalReq req) {
|
||||
List<SaasFeatureResourceResp> newFeatureResources = this.list(PageSaasFeatureResourceReq.builder()
|
||||
.featureResourceTypes(Lists.newArrayList(FeatureResourceType.ROOT.getCode()))
|
||||
.terminal(req.getNewTerminalCode())
|
||||
.build());
|
||||
Axssert.check(CollectionUtils.isEmpty(newFeatureResources), TERMINAL_CODE_EXIST);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,15 +4,13 @@ import cn.axzo.foundation.exception.BusinessException;
|
||||
import cn.axzo.tyr.base.BaseTest;
|
||||
import cn.axzo.tyr.base.MysqlDataLoader;
|
||||
import cn.axzo.tyr.client.model.req.CloneTerminalReq;
|
||||
import cn.axzo.tyr.client.model.req.SaveOrUpdatePageElementReq;
|
||||
import cn.axzo.tyr.server.service.SaasFeatureResourceService;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.PAGE_ELEMENT_ERROR;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.TERMINAL_EXIST;
|
||||
import static cn.axzo.tyr.server.config.exception.BizResultCode.TERMINAL_CODE_EXIST;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
@ -45,7 +43,7 @@ class SaasFeatureResourceServiceImplTest extends BaseTest {
|
||||
.build();
|
||||
saasFeatureResourceService.clone(req);
|
||||
});
|
||||
assertEquals(businessException.getErrorCode(), TERMINAL_EXIST.getErrorCode());
|
||||
assertEquals(businessException.getErrorCode(), TERMINAL_CODE_EXIST.getErrorCode());
|
||||
assertEquals(businessException.getErrorMsg(), "新端已经存在:[3434]");
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user