TRX hai 1 ano
pai
achega
7b90463fbf

+ 12 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/RegionController.java

@@ -8,14 +8,12 @@ import com.zhongshu.card.client.model.org.RegionModel;
 import com.zhongshu.card.client.ret.ResultContent;
 import com.zhongshu.card.server.core.service.org.RegionService;
 import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -42,4 +40,14 @@ public class RegionController {
         return this.regionService.getAllTree();
     }
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "地区树形结构-通用(异步)", description = "得到机构部门树")
+    @RequestMapping(value = "getList", method = {RequestMethod.GET})
+    public ResultContent getList(
+            @Parameter(name = "parentId", description = "上级id")
+            @RequestParam(name = "parentId")
+            String parentId) {
+        return this.regionService.getListByParentCode(parentId);
+    }
+
 }

+ 2 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/org/RegionDao.java

@@ -12,5 +12,7 @@ public interface RegionDao extends MongoDao<Region>, RegionDaoExtend {
 
     List<Region> findByCodeIn(List<String> codes);
 
+    List<Region> findByParentIdOrderByIndexAsc(String parentId);
+
     Region findByCode(String code);
 }

+ 13 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/RegionService.java

@@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -37,6 +38,18 @@ public class RegionService {
         return ResultContent.buildSuccess(iTrees);
     }
 
+    public ResultContent<List<RegionModel>> getListByParentCode(String parentCode) {
+        List<RegionModel> models = new ArrayList<>();
+        if (StringUtils.isEmpty(parentCode)) {
+            parentCode = ITree.ROOT_ID;
+        }
+        List<Region> list = regionDao.findByParentIdOrderByIndexAsc(parentCode);
+        if (ObjectUtils.isNotEmpty(list)) {
+            models = list.parallelStream().map(this::toModel).collect(Collectors.toList());
+        }
+        return ResultContent.buildSuccess(models);
+    }
+
     public void fixData() {
         Region region = regionDao.findByCode("11");
         if (region != null) {