测试文档bug调整
This commit is contained in:
@@ -27,6 +27,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -324,22 +325,34 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function> i
|
||||
* 名称 && 路径做唯一判断
|
||||
*/
|
||||
private void checkFunctionParam(FunctionParam functionParam, boolean isExcludeSelf) {
|
||||
LambdaQueryWrapper<Function> functionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
functionLambdaQueryWrapper
|
||||
.eq(Function::getName, functionParam.getName())
|
||||
.eq(Function::getPath, functionParam.getPath())
|
||||
.eq(Function::getPid, functionParam.getPid())
|
||||
.eq(Function::getState, FunctionState.ENABLE);
|
||||
//更新的时候,需排除当前记录
|
||||
if (isExcludeSelf) {
|
||||
if (functionParam instanceof FunctionParam.FunctionUpdateParam) {
|
||||
functionLambdaQueryWrapper.ne(Function::getId, ((FunctionParam.FunctionUpdateParam) functionParam).getId());
|
||||
}
|
||||
// 检查同名同父级的功能是否存在
|
||||
checkFunctionDuplicate(functionParam, isExcludeSelf,
|
||||
wrapper -> wrapper.eq(Function::getName, functionParam.getName())
|
||||
.eq(Function::getPid, functionParam.getPid()),
|
||||
UserResponseEnum.FUNCTION_NAME_EXIST);
|
||||
// 检查同路径同父级的功能是否存在
|
||||
checkFunctionDuplicate(functionParam, isExcludeSelf,
|
||||
wrapper -> wrapper.eq(Function::getPath, functionParam.getPath())
|
||||
.eq(Function::getPid, functionParam.getPid()),
|
||||
UserResponseEnum.FUNCTION_PATH_EXIST);
|
||||
}
|
||||
|
||||
private void checkFunctionDuplicate(FunctionParam functionParam,
|
||||
boolean isExcludeSelf,
|
||||
Consumer<LambdaQueryWrapper<Function>> queryCustomizer,
|
||||
UserResponseEnum errorEnum) {
|
||||
LambdaQueryWrapper<Function> wrapper = new LambdaQueryWrapper<>();
|
||||
// 应用公共条件
|
||||
wrapper.eq(Function::getState, FunctionState.ENABLE);
|
||||
// 应用自定义条件
|
||||
queryCustomizer.accept(wrapper);
|
||||
// 排除自身条件
|
||||
if (isExcludeSelf && functionParam instanceof FunctionParam.FunctionUpdateParam) {
|
||||
wrapper.ne(Function::getId, ((FunctionParam.FunctionUpdateParam) functionParam).getId());
|
||||
}
|
||||
int countByAccount = this.count(functionLambdaQueryWrapper);
|
||||
//大于等于1个则表示重复
|
||||
if (countByAccount >= 1) {
|
||||
throw new BusinessException(UserResponseEnum.FUNCTION_PATH_EXIST);
|
||||
// 检查是否存在重复记录
|
||||
if (this.count(wrapper) >= 1) {
|
||||
throw new BusinessException(errorEnum);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user