Redeem 1 rok temu
rodzic
commit
773e10c1c5

+ 1 - 1
pom.xml

@@ -6,7 +6,7 @@
 
     <groupId>org.example</groupId>
     <artifactId>dil-dazhou-api</artifactId>
-    <version>1.7</version>
+    <version>1.8</version>
 
     <parent>
         <groupId>org.springframework.boot</groupId>

+ 19 - 6
src/main/java/com/steerinfo/dil/controller/UniversalController.java

@@ -831,22 +831,35 @@ public class UniversalController extends BaseRESTfulController {
 
     @ApiOperation(value="得到所有省份")
     @PostMapping("/getAllProvince")
-    public RESTfulResult getAllProvince(){
-        List<Map<String,Object>> provinceList = universalMapper.getAllProvince();
+    public RESTfulResult getAllProvince(@RequestBody(required = false) Map<String,Object> map){
+        if(map == null) {
+            map = new HashMap<>();
+        }
+        List<Map<String,Object>> provinceList = universalMapper.getAllProvince(map);
         return success(provinceList);
     }
 
     @ApiOperation(value="根据省份得到下面的地级市")
     @PostMapping("/getDistrictByProvince")
-    public RESTfulResult getDistrictByProvince(@RequestParam String addressProvince){
-        List<Map<String,Object>> districtList = universalMapper.getDistrictByProvince(addressProvince);
+    public RESTfulResult getDistrictByProvince(@RequestParam String addressProvince,
+                                               @RequestBody(required = false) Map<String,Object> map){
+        if(map == null) {
+            map = new HashMap<>();
+        }
+        map.put("addressProvince",addressProvince);
+        List<Map<String,Object>> districtList = universalMapper.getDistrictByProvince(map);
         return success(districtList);
     }
 
     @ApiOperation(value="根据地级市得到下面的区/县")
     @PostMapping("/getTownByDistrict")
-    public RESTfulResult getTownByDistrict(@RequestParam String addressDistrict){
-        List<Map<String,Object>> townList = universalMapper.getTownByDistrict(addressDistrict);
+    public RESTfulResult getTownByDistrict(@RequestParam String addressDistrict,
+                                           @RequestBody(required = false) Map<String,Object> map){
+        if(map == null) {
+            map = new HashMap<>();
+        }
+        map.put("addressDistrict",addressDistrict);
+        List<Map<String,Object>> townList = universalMapper.getTownByDistrict(map);
         return success(townList);
     }
 

+ 4 - 3
src/main/java/com/steerinfo/dil/mapper/UniversalMapper.java

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.mapper;
 
+import com.steerinfo.dil.model.SaleLog;
 import io.swagger.models.auth.In;
 import org.apache.ibatis.annotations.Param;
 import org.mapstruct.Mapper;
@@ -148,13 +149,13 @@ public interface UniversalMapper {
     List<Map<String, Object>> getSteelMaterial(Map<String, Object> mapValue);
 
     // 得到所有省份
-    List<Map<String, Object>> getAllProvince();
+    List<Map<String, Object>> getAllProvince(Map<String,Object> map);
 
     // 通过省份得到省份下面的市
-    List<Map<String, Object>> getDistrictByProvince(String addressProvince);
+    List<Map<String, Object>> getDistrictByProvince(Map<String,Object>map);
 
     // 通过市得到市下面的区和县
-    List<Map<String, Object>> getTownByDistrict(String addressDistrict);
+    List<Map<String, Object>> getTownByDistrict(Map<String,Object>map);
 
     // 通过省市县得到具体地址
     List<Map<String, Object>> getPlaceByAllAddress(Map<String, Object> mapValue);

+ 43 - 5
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -912,30 +912,68 @@
         </if>
     </select>
 
-    <select id="getAllProvince" resultType="java.util.Map">
+    <select id="getAllProvince" resultType="java.util.Map" parameterType="java.util.Map">
         SELECT DISTINCT RRA.ADDRESS_PROVINCE AS "addressProvince",
                         RRA.ADDRESS_PROVINCE AS "id",
                         RRA.ADDRESS_PROVINCE AS "label",
                         RRA.ADDRESS_PROVINCE AS "value"
         FROM RMS_RECEIVE_ADDRESS RRA
+        <where>
+        <if test="directlyProvinceList != null and directlyProvinceList.size > 0">
+            RRA.ADDRESS_PROVINCE in
+                <foreach collection="directlyProvinceList" open="(" close=")" separator="," item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="directlyProvinceList != null and directlyProvinceList.size = 0">
+                AND 1 != 1
+            </if>
+        </where>
     </select>
 
-    <select id="getDistrictByProvince" parameterType="java.lang.String" resultType="java.util.Map">
+    <select id="getDistrictByProvince" parameterType="java.util.Map" resultType="java.util.Map">
         SELECT DISTINCT RRA.ADDRESS_DISTRICT AS "addressDistrict",
                         RRA.ADDRESS_DISTRICT AS "id",
                         RRA.ADDRESS_DISTRICT AS "label",
                         RRA.ADDRESS_DISTRICT AS "value"
         FROM RMS_RECEIVE_ADDRESS RRA
-        WHERE RRA.ADDRESS_PROVINCE = #{addressProvince}
+        <where>
+            <if test="addressProvince != null">
+                AND RRA.ADDRESS_PROVINCE = #{addressProvince}
+            </if>
+            <if test="directlyCityList != null and directlyCityList.size > 0">
+                and  RRA.ADDRESS_DISTRICT in
+                <foreach collection="directlyCityList" open="(" close=")" separator="," item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="directlyCityList != null and directlyCityList.size = 0">
+                AND 1 != 1
+            </if>
+        </where>
     </select>
 
-    <select id="getTownByDistrict" parameterType="java.lang.String" resultType="java.util.Map">
+    <select id="getTownByDistrict" parameterType="java.util.Map" resultType="java.util.Map">
         SELECT DISTINCT RRA.ADDRESS_TOWN AS "addressTown",
                         RRA.ADDRESS_TOWN AS "id",
                         RRA.ADDRESS_TOWN AS "value",
                         RRA.ADDRESS_TOWN AS "label"
         FROM RMS_RECEIVE_ADDRESS RRA
-        WHERE RRA.ADDRESS_DISTRICT = #{addressDistrict}
+        <where>
+            <if test="addressDistrict != null ">
+                AND RRA.ADDRESS_DISTRICT = #{addressDistrict}
+            </if>
+            <if test="directlyTownList != null and directlyTownList.size > 0">
+                AND RRA.ADDRESS_TOWN in
+                <foreach collection="directlyTownList" open="(" close=")" separator="," item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="directlyTownList != null and directlyTownList.size = 0">
+                AND 1 == 1
+            </if>
+        </where>
+
     </select>
 
     <select id="getPlaceByAllAddress" parameterType="java.util.Map" resultType="java.util.Map" >