菜单名字重复校验

This commit is contained in:
lvshaohua 2024-04-17 10:03:30 +08:00
parent c114695861
commit 600482a7e8

View File

@ -198,6 +198,7 @@ public class SaasFeatureResourceServiceImpl implements SaasFeatureResourceServic
baseResource.setUpdateBy(req.getOperatorId());
// 新增时候
validFeatureCode(baseResource);
validFeatureName(baseResource);
if (req.getId() == null) {
baseResource.setCreateBy(req.getOperatorId());
baseResource.setDisplayOrder(0);
@ -256,6 +257,7 @@ public class SaasFeatureResourceServiceImpl implements SaasFeatureResourceServic
saasFeatureResource.setUpdateBy(operatorId);
saasFeatureResource.setDisplayOrder(displayOrder);
validFeatureCode(saasFeatureResource);
validFeatureName(saasFeatureResource);
if (saasFeatureResource.getId() != null) {
SaasFeatureResource dbResource = featureResourceDao.getById(saasFeatureResource.getId());
saasFeatureResource.setPath(dbResource.getPath());
@ -441,6 +443,19 @@ public class SaasFeatureResourceServiceImpl implements SaasFeatureResourceServic
}
}
void validFeatureName(SaasFeatureResource featureResource) {
Assert.notNull(featureResource.getFeatureName(), "名称不能为空");
SaasFeatureResource exist = featureResourceDao.lambdaQuery()
.eq(SaasFeatureResource::getParentId, featureResource.getParentId() == null ? 0 : featureResource.getParentId())
.eq(SaasFeatureResource::getTerminal, featureResource.getTerminal())
.eq(SaasFeatureResource::getFeatureName, featureResource.getFeatureName())
.eq(BaseEntity::getIsDelete, 0)
.one();
if (exist != null && !exist.getId().equals(featureResource.getId())) {
Throws.bizException(BaseCode.BAD_REQUEST, featureResource.getFeatureName() + "-存在重复的名称");
}
}
@Override
public Set<Long> listAuthFree() {
return featureResourceDao.lambdaQuery()