测试文档bug调整
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user