manage:代码结构调整
parent
6641bd4bbf
commit
e93e8d6a83
@ -0,0 +1,29 @@
|
||||
package com.supervision.manage.controller;
|
||||
|
||||
|
||||
import com.supervision.manage.service.PhysicalLocationManageService;
|
||||
import com.supervision.vo.manage.PhysicalLocationNode;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "身体位置管理")
|
||||
@RestController
|
||||
@RequestMapping("physicalLocation")
|
||||
@RequiredArgsConstructor
|
||||
public class PhysicalLocationManageController {
|
||||
|
||||
private final PhysicalLocationManageService physicalLocationManageService;
|
||||
@ApiOperation("查询身体部位树")
|
||||
@GetMapping("/queryTree")
|
||||
public List<PhysicalLocationNode> queryTree() {
|
||||
|
||||
return physicalLocationManageService.queryTree();
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.supervision.manage.service;
|
||||
|
||||
import com.supervision.vo.manage.PhysicalLocationNode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PhysicalLocationManageService {
|
||||
|
||||
|
||||
List<PhysicalLocationNode> queryTree();
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package com.supervision.manage.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.supervision.manage.service.PhysicalLocationManageService;
|
||||
import com.supervision.model.ConfigPhysicalLocation;
|
||||
import com.supervision.service.ConfigPhysicalLocationService;
|
||||
import com.supervision.vo.manage.PhysicalLocationNode;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PhysicalLocationManageServiceImpl implements PhysicalLocationManageService {
|
||||
|
||||
private final ConfigPhysicalLocationService configPhysicalLocationService;
|
||||
@Override
|
||||
public List<PhysicalLocationNode> queryTree() {
|
||||
|
||||
List<ConfigPhysicalLocation> list = configPhysicalLocationService.list();
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
return CollectionUtil.newArrayList();
|
||||
}
|
||||
|
||||
Map<String, PhysicalLocationNode> map = list.stream().collect(
|
||||
Collectors.toMap(ConfigPhysicalLocation::getId, p -> BeanUtil.toBean(p, PhysicalLocationNode.class)));
|
||||
|
||||
for (Map.Entry<String, PhysicalLocationNode> entry : map.entrySet()) {
|
||||
PhysicalLocationNode value = entry.getValue();
|
||||
if (StrUtil.isNotEmpty(value.getParentId())) {
|
||||
PhysicalLocationNode physicalLocationNode = map.get(value.getParentId());
|
||||
if (!Objects.isNull(physicalLocationNode)) {
|
||||
List<ConfigPhysicalLocation> child = physicalLocationNode.getChild();
|
||||
if (null == child) {
|
||||
child = new ArrayList<>();
|
||||
physicalLocationNode.setChild(child);
|
||||
}
|
||||
child.add(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return map.values().stream().filter(n -> StrUtil.isEmpty(n.getParentId())).collect(Collectors.toList());
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.supervision.vo.manage;
|
||||
|
||||
import com.supervision.model.ConfigPhysicalLocation;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class PhysicalLocationNode extends ConfigPhysicalLocation{
|
||||
|
||||
private List<ConfigPhysicalLocation> child;
|
||||
|
||||
}
|
Loading…
Reference in New Issue