孙永军 2 rokov pred
rodič
commit
4216862b9d

+ 5 - 0
src/main/java/com/sxtvs/open/api/news/controller/AreaController.java

@@ -33,4 +33,9 @@ public class AreaController {
     public List<Area> city(@RequestParam("pid") String pid){
         return areaService.lambdaQuery().eq(Area::getPid, pid).list();
     }
+
+    @RequestMapping("list")
+    public List<Area> list(){
+        return areaService.areaList();
+    }
 }

+ 7 - 0
src/main/java/com/sxtvs/open/api/news/entity/Area.java

@@ -1,6 +1,10 @@
 package com.sxtvs.open.api.news.entity;
 
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -29,4 +33,7 @@ public class Area implements Serializable {
     private Integer sortNo;
 
     private Byte level;
+
+    @TableField(exist = false)
+    private List<Area> districts = new ArrayList<>();
 }

+ 19 - 0
src/main/java/com/sxtvs/open/api/news/service/impl/AreaServiceImpl.java

@@ -6,6 +6,9 @@ import com.sxtvs.open.api.news.service.IAreaService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +20,20 @@ import org.springframework.stereotype.Service;
 @Service
 public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IAreaService {
 
+    public List<Area> areaList(){
+        List<Area> list = lambdaQuery().le(Area::getLevel, 2).list();
+        List<Area> rs = new ArrayList<>();
+        Area curr = new Area();
+        for(Area area : list){
+            if(area.getLevel() == 1){
+                curr = area;
+                rs.add(curr);
+            }else {
+                curr.getDistricts().add(area);
+            }
+        }
+
+        return rs;
+
+    }
 }