Explorar el Código

feat: 实现根据地市id获取区县列表接口

weijianghai hace 2 años
padre
commit
fbf6b00ce4

+ 14 - 0
src/main/java/com/nokia/controller/web/WebAreaController.java

@@ -1,15 +1,20 @@
 package com.nokia.controller.web;
 package com.nokia.controller.web;
 
 
 import com.nokia.common.R;
 import com.nokia.common.R;
+import com.nokia.pojo.Area;
 import com.nokia.service.AreaService;
 import com.nokia.service.AreaService;
+import com.nokia.vo.GetAreasByCityIdDto;
 import com.nokia.vo.TreeAreaVo;
 import com.nokia.vo.TreeAreaVo;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpSession;
+import javax.validation.Valid;
+import java.util.List;
 
 
 @Tag(name = "地区")
 @Tag(name = "地区")
 @RestController
 @RestController
@@ -40,4 +45,13 @@ public class WebAreaController {
     public R<TreeAreaVo> treeProvinceCity(HttpSession session) {
     public R<TreeAreaVo> treeProvinceCity(HttpSession session) {
         return areaService.treeProvinceCity(session);
         return areaService.treeProvinceCity(session);
     }
     }
+
+    /**
+     * 根据地市id获取区县列表
+     */
+    @Operation(summary = "根据地市id获取区县列表")
+    @PostMapping("getAreasByCityId")
+    public R<List<Area>> getAreasByCityId(@Valid @RequestBody GetAreasByCityIdDto dto) {
+        return areaService.getAreasByCityId(dto);
+    }
 }
 }

+ 3 - 0
src/main/java/com/nokia/dao/AreaDao.java

@@ -18,4 +18,7 @@ public interface AreaDao extends BaseMapper<Area> {
 
 
     @Select("select * from sqmdb_rpt.acl_area where area_id = #{areaId}")
     @Select("select * from sqmdb_rpt.acl_area where area_id = #{areaId}")
     Area getByAreaId(int areaId);
     Area getByAreaId(int areaId);
+
+    @Select("select * from sqmdb_rpt.acl_area where parent_id = #{cityId} and type_code = 3 order by type_code, area_id")
+    List<Area> getAreasByCityId(Integer cityId);
 }
 }

+ 3 - 0
src/main/java/com/nokia/pojo/Area.java

@@ -2,6 +2,7 @@ package com.nokia.pojo;
 
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
@@ -13,9 +14,11 @@ import java.io.Serializable;
 @TableName("sqmdb_rpt.acl_area")
 @TableName("sqmdb_rpt.acl_area")
 public class Area implements Serializable {
 public class Area implements Serializable {
     // 每个区域会有1个唯一Id
     // 每个区域会有1个唯一Id
+    @Schema(description = "地区id")
     @TableId
     @TableId
     private Integer areaId;
     private Integer areaId;
     // 行政区中文名
     // 行政区中文名
+    @Schema(description = "地区名称")
     private String areaName;
     private String areaName;
     // 省 province 1 地市 city 2 区县 area 3
     // 省 province 1 地市 city 2 区县 area 3
     private String areaType;
     private String areaType;

+ 5 - 0
src/main/java/com/nokia/service/AreaService.java

@@ -4,6 +4,7 @@ import com.nokia.common.R;
 import com.nokia.dao.AreaDao;
 import com.nokia.dao.AreaDao;
 import com.nokia.pojo.Area;
 import com.nokia.pojo.Area;
 import com.nokia.pojo.UserRoleCity;
 import com.nokia.pojo.UserRoleCity;
+import com.nokia.vo.GetAreasByCityIdDto;
 import com.nokia.vo.TreeAreaVo;
 import com.nokia.vo.TreeAreaVo;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -103,6 +104,10 @@ public class AreaService {
         return R.ok(vo);
         return R.ok(vo);
     }
     }
 
 
+    public R<List<Area>> getAreasByCityId(GetAreasByCityIdDto dto) {
+        return R.ok(areaDao.getAreasByCityId(dto.getCityId()));
+    }
+
     /**
     /**
      * 得到地区父地图
      * 得到地区父地图
      *
      *

+ 17 - 0
src/main/java/com/nokia/vo/GetAreasByCityIdDto.java

@@ -0,0 +1,17 @@
+package com.nokia.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotNull;
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class GetAreasByCityIdDto {
+    @Schema(description = "地市id", required = true)
+    @NotNull(message = "cityId不能为空")
+    private Integer cityId;
+}