|
@@ -20,10 +20,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
import java.time.Duration;
|
|
import java.time.Duration;
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
import static com.jzg.commons.constants.RedisKeyConstants.DICT_REDIS_KEY;
|
|
import static com.jzg.commons.constants.RedisKeyConstants.DICT_REDIS_KEY;
|
|
@@ -42,11 +39,11 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
|
|
|
queryWrapper.orderByAsc(SysDict::getSort);
|
|
queryWrapper.orderByAsc(SysDict::getSort);
|
|
|
List<SysDict> list = list(queryWrapper);
|
|
List<SysDict> list = list(queryWrapper);
|
|
|
List<SysDictVo> collect = list.stream().map(SysDictVo::new)
|
|
List<SysDictVo> collect = list.stream().map(SysDictVo::new)
|
|
|
- .sorted((e1, e2) -> {
|
|
|
|
|
- return e1.getCreateTime().compareTo(e2.getCreateTime());
|
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
|
- Map<String, List<SysDictVo>> map = collect.stream().collect(Collectors.groupingBy(SysDictVo::getParentValue));
|
|
|
|
|
- collect.forEach(i -> i.setChild(map.getOrDefault(i.getParentValue(), new ArrayList<>())));
|
|
|
|
|
|
|
+ .sorted(Comparator.comparing(SysDictVo::getCreateTime, Comparator.nullsLast(Comparator.naturalOrder())))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ Map<String, List<SysDictVo>> map = collect.stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(vo -> Objects.requireNonNullElse(vo.getParentValue(), "0")));
|
|
|
|
|
+ collect.forEach(i -> i.setChild(map.getOrDefault(i.getId(), new ArrayList<>())));
|
|
|
return map.get("0");
|
|
return map.get("0");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -107,7 +104,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
|
|
|
AssertionUtils.isFail(StringUtils.isBlank(sysDictVo.getValue()), "类目名称不能为空");
|
|
AssertionUtils.isFail(StringUtils.isBlank(sysDictVo.getValue()), "类目名称不能为空");
|
|
|
if (isAdd) {
|
|
if (isAdd) {
|
|
|
if (this.count(new LambdaQueryWrapper<SysDict>()
|
|
if (this.count(new LambdaQueryWrapper<SysDict>()
|
|
|
- .eq(SysDict::getValue, sysDictVo.getValue())) > 0) {
|
|
|
|
|
|
|
+ .eq(SysDict::getValue, sysDictVo.getValue())
|
|
|
|
|
+ .eq(SysDict::getTypeCode, sysDictVo.getTypeCode())
|
|
|
|
|
+ ) > 0) {
|
|
|
throw new SystemException("类目名称已存在");
|
|
throw new SystemException("类目名称已存在");
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|