|
|
@@ -23,6 +23,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -150,6 +151,29 @@ public class AreaServiceImpl extends SuperService implements AreaService {
|
|
|
return ResultContent.buildSuccess(iTrees);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 加载当前区域的所有上级区域(包括自己)
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<AreaModel> getParents(String id) {
|
|
|
+ List<Area> list = new ArrayList<>();
|
|
|
+ loopLoad(id, list);
|
|
|
+ List<AreaModel> models = list.stream().map(this::toModel).collect(Collectors.toList());
|
|
|
+ return models;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void loopLoad(String id, List<Area> list) {
|
|
|
+ Area area = areaDao.findTopById(id);
|
|
|
+ if (ObjectUtils.isNotEmpty(area)) {
|
|
|
+ list.add(area);
|
|
|
+ if (StringUtils.isNotEmpty(area.getParentId()) && !area.getParentId().equals(ITree.ROOT_ID)) {
|
|
|
+ loopLoad(area.getParentId(), list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public AreaModel toModel(Area entity) {
|
|
|
AreaModel model = new AreaModel();
|
|
|
if (ObjectUtils.isNotEmpty(entity)) {
|