测试文档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

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.redis.pojo.enums.AppRedisKey;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.system.enums.DicDataTypeEnum;
@@ -15,12 +16,18 @@ import com.njcn.system.pojo.param.DictTreeParam;
import com.njcn.system.pojo.po.SysDicTreePO;
import com.njcn.system.pojo.vo.DictTreeVO;
import com.njcn.system.service.SysDicTreePOService;
import com.njcn.user.enums.UserResponseEnum;
import com.njcn.user.pojo.constant.FunctionState;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
@@ -47,18 +54,15 @@ public class SysDicTreePOServiceImpl extends ServiceImpl<SysDicTreePOMapper, Sys
@Override
@Transactional(rollbackFor = {Exception.class})
public boolean addDictTree(DictTreeParam dictTreeParam) {
checkFunctionParam(dictTreeParam,false);
boolean result;
SysDicTreePO sysDicTreePO = new SysDicTreePO();
BeanUtils.copyProperties(dictTreeParam, sysDicTreePO);
if (!Objects.equals(sysDicTreePO.getPid(), BizParamConstant.PARENT_ID)) {
QueryWrapper<SysDicTreePO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", sysDicTreePO.getPid());
SysDicTreePO instance = this.baseMapper.selectOne(queryWrapper);
sysDicTreePO.setPids(instance.getPids() + StrPool.COMMA + instance.getId());
} else {
sysDicTreePO.setPids(BizParamConstant.PARENT_ID);
}
@@ -75,6 +79,7 @@ public class SysDicTreePOServiceImpl extends ServiceImpl<SysDicTreePOMapper, Sys
@Override
public boolean updateDictTree(DictTreeParam dictTreeParam) {
checkFunctionParam(dictTreeParam,true);
boolean result;
SysDicTreePO sysDicTreePO = new SysDicTreePO();
BeanUtils.copyProperties(dictTreeParam, sysDicTreePO);
@@ -219,4 +224,36 @@ public class SysDicTreePOServiceImpl extends ServiceImpl<SysDicTreePOMapper, Sys
}).collect(Collectors.toList());
}
private void checkFunctionParam(DictTreeParam dictTreeParam, boolean isExcludeSelf) {
// 检查同名同父级的功能是否存在
checkFunctionDuplicate(dictTreeParam, isExcludeSelf,
wrapper -> wrapper.eq(SysDicTreePO::getName, dictTreeParam.getName())
.eq(SysDicTreePO::getPid, dictTreeParam.getPid()),
UserResponseEnum.FUNCTION_NAME_EXIST);
// 检查同路径同父级的功能是否存在
checkFunctionDuplicate(dictTreeParam, isExcludeSelf,
wrapper -> wrapper.eq(SysDicTreePO::getCode, dictTreeParam.getCode())
.eq(SysDicTreePO::getPid, dictTreeParam.getPid()),
UserResponseEnum.FUNCTION_CODE_EXIST);
}
private void checkFunctionDuplicate(DictTreeParam dictTreeParam,
boolean isExcludeSelf,
Consumer<LambdaQueryWrapper<SysDicTreePO>> queryCustomizer,
UserResponseEnum errorEnum) {
LambdaQueryWrapper<SysDicTreePO> wrapper = new LambdaQueryWrapper<>();
// 应用公共条件
wrapper.eq(SysDicTreePO::getStatus, FunctionState.DELETE);
// 应用自定义条件
queryCustomizer.accept(wrapper);
// 排除自身条件
if (isExcludeSelf && dictTreeParam instanceof DictTreeParam.DictTreeUpdateParam) {
wrapper.ne(SysDicTreePO::getId, ((DictTreeParam.DictTreeUpdateParam) dictTreeParam).getId());
}
// 检查是否存在重复记录
if (this.count(wrapper) >= 1) {
throw new BusinessException(errorEnum);
}
}
}

View File

@@ -134,21 +134,21 @@ public class ThemeServiceImpl extends ServiceImpl<ThemeMapper, Theme> implements
if (themeParam.getFaviconFile().isEmpty()) {
throw new BusinessException(ThemeEnum.FAVICON_FILE_BLANK);
}
LambdaQueryWrapper<Theme> themeLambdaQueryWrapper = new LambdaQueryWrapper<>();
themeLambdaQueryWrapper
.eq(Theme::getName, themeParam.getName())
.eq(Theme::getState, ThemeState.NORMAL);
//更新的时候,需排除当前记录
if (isExcludeSelf) {
if (themeParam instanceof ThemeParam.ThemeUpdateParam) {
themeLambdaQueryWrapper.ne(Theme::getId, ((ThemeParam.ThemeUpdateParam) themeParam).getId());
}
}
int countByAccount = this.count(themeLambdaQueryWrapper);
//大于等于1个则表示重复
if (countByAccount >= 1) {
throw new BusinessException(ThemeEnum.SAME_THEME_NAME);
}
// LambdaQueryWrapper<Theme> themeLambdaQueryWrapper = new LambdaQueryWrapper<>();
// themeLambdaQueryWrapper
// .eq(Theme::getName, themeParam.getName())
// .eq(Theme::getState, ThemeState.NORMAL);
// //更新的时候,需排除当前记录
// if (isExcludeSelf) {
// if (themeParam instanceof ThemeParam.ThemeUpdateParam) {
// themeLambdaQueryWrapper.ne(Theme::getId, ((ThemeParam.ThemeUpdateParam) themeParam).getId());
// }
// }
// int countByAccount = this.count(themeLambdaQueryWrapper);
// //大于等于1个则表示重复
// if (countByAccount >= 1) {
// throw new BusinessException(ThemeEnum.SAME_THEME_NAME);
// }
}
/**