测试文档bug调整

This commit is contained in:
xy
2025-07-28 21:02:50 +08:00
parent 2009009296
commit 67680628a1
25 changed files with 638 additions and 66 deletions

View File

@@ -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);
}
}