|
|
@@ -1,5 +1,7 @@
|
|
|
package com.sckw.system.dubbo;
|
|
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
@@ -17,6 +19,7 @@ import com.sckw.system.model.vo.res.FindAreaTreeResVo;
|
|
|
import com.sckw.system.service.KwsUserService;
|
|
|
import com.sckw.system.service.SysAreaService;
|
|
|
import org.apache.dubbo.config.annotation.DubboService;
|
|
|
+import org.checkerframework.checker.units.qual.A;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -80,7 +83,7 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
|
|
|
return Collections.emptyMap();
|
|
|
}
|
|
|
|
|
|
- return sysDictResDtos.stream().collect(Collectors.toMap(SysDictResDto::getValue, v->v));
|
|
|
+ return sysDictResDtos.stream().collect(Collectors.toMap(SysDictResDto::getValue, v -> v));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -464,9 +467,41 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
|
|
|
|
|
|
@Override
|
|
|
public List<AreaTreeFrontResDto> queryAreaTreeFrontByCodeList(List<Integer> list) {
|
|
|
- return null;
|
|
|
+ List<SysArea> sysAreas = sysAreaService.selectByIds(list);
|
|
|
+ if (CollectionUtils.isEmpty(sysAreas)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+
|
|
|
+ int maxLevel = sysAreas.stream().map(SysArea::getLevel).max(Integer::compareTo).get();
|
|
|
+ List<AreaTreeFrontResDto> areaTreeFrontResDtoList = BeanUtils.copyToList(sysAreas, AreaTreeFrontResDto.class);
|
|
|
+ List<AreaTreeFrontResDto> upLevel = new ArrayList<>();
|
|
|
+ for (int i = maxLevel; i > 1; i--) {
|
|
|
+ int finalI = i;
|
|
|
+ List<AreaTreeFrontResDto> currentLevelArea = areaTreeFrontResDtoList.stream().filter(item -> item.getLevel().equals(finalI)).toList();
|
|
|
+ for (AreaTreeFrontResDto areaTreeFrontResDto : currentLevelArea) {
|
|
|
+ if (!upLevel.stream().map(AreaTreeFrontResDto::getCode).toList().contains(areaTreeFrontResDto.getCode())) {
|
|
|
+ upLevel.add(areaTreeFrontResDto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ upLevel.removeIf(x -> x.getLevel() > finalI);
|
|
|
+ Map<Integer, List<AreaTreeFrontResDto>> collect = upLevel.stream().collect(Collectors.groupingBy(AreaTreeFrontResDto::getPcode));
|
|
|
+ for (Integer pcode : collect.keySet()) {
|
|
|
+ SysArea sysArea = sysAreaService.selectById(pcode);
|
|
|
+ AreaTreeFrontResDto areaTreeFrontResDto = new AreaTreeFrontResDto();
|
|
|
+ areaTreeFrontResDto.setCode(sysArea.getCode());
|
|
|
+ areaTreeFrontResDto.setPcode(sysArea.getPcode());
|
|
|
+ areaTreeFrontResDto.setName(sysArea.getName());
|
|
|
+ areaTreeFrontResDto.setLevel(sysArea.getLevel());
|
|
|
+ areaTreeFrontResDto.setChild(collect.get(pcode));
|
|
|
+ upLevel.add(areaTreeFrontResDto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return upLevel.stream().filter(x -> x.getLevel() == 1).toList();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public UserCacheResDto queryManagerInfoByEntId(Long entId) {
|
|
|
KwsEnterpriseResDto kwsEnterpriseResDto = remoteBaseService.queryEnterpriseById(entId);
|