Browse Source

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu 8 months ago
parent
commit
7894cc0129

+ 98 - 12
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseExcelLogic.java

@@ -1314,22 +1314,108 @@ public class OrderBaseExcelLogic {
                 pgOrderBase.setStreetId(region.getId());
 
             }else {
-                Region one = regionService.lambdaQuery()
-                        .like(Region::getProvinceName, pgOrderBase.getProvince()).eq(Region::getCityName, pgOrderBase.getCity()).eq(Region::getAreaName, pgOrderBase.getArea())
-                        .eq(Region::getLevel, 3).one();
+                Region province = regionService.lambdaQuery()
+                        .like(Region::getProvinceName, pgOrderBase.getProvince()).last("limit 1").one();
+
+
+                Region city = regionService.lambdaQuery()
+                        .like(Region::getProvinceName, pgOrderBase.getProvince())
+                        .eq(Region::getCityName,pgOrderBase.getCity())
+                        .last("limit 1").one();
+
+
+                Region area = regionService.lambdaQuery()
+                        .like(Region::getProvinceName, pgOrderBase.getProvince())
+                        .eq(Region::getCityName,pgOrderBase.getCity())
+                        .eq(Region::getAreaName,pgOrderBase.getArea())
+                        .last("limit 1").one();
+
+
+                Region street = regionService.lambdaQuery()
+                        .like(Region::getProvinceName, pgOrderBase.getProvince())
+                        .eq(Region::getCityName,pgOrderBase.getCity())
+                        .eq(Region::getAreaName,pgOrderBase.getArea())
+                        .eq(Region::getName,pgOrderBase.getStreet())
+                        .last("limit 1").one();
+
+
+
+
+                if (province == null){
+                    province = new Region();
+
+                    province.setId(IdWorker.getIdStr());
+                    province.setPid("0");
+                    province.setName(pgOrderBase.getProvince());
+                    province.setProvinceName(pgOrderBase.getProvince());
+                    province.setProvinceCode(province.getId());
+                    province.setLevel(1);
+                    province.insert();
+                }
+
 
-                pgOrderBase.setProvinceId(region.getProvinceCode());
-                pgOrderBase.setCityId(region.getCityCode());
-                pgOrderBase.setAreaId(region.getAreaCode());
 
-                one.setId(IdWorker.getIdStr());
-                one.setStreetCode(one.getId());
-                one.setName(pgOrderBase.getStreet());
-                one.setLevel(4);
-                one.insert();
+                if (city == null){
+                    city = new Region();
+
+                    city.setId(IdWorker.getIdStr());
+                    city.setPid(province.getId());
+                    city.setName(pgOrderBase.getCity());
+                    city.setProvinceName(pgOrderBase.getProvince());
+                    city.setProvinceCode(province.getId());
+                    city.setCityCode(city.getId());
+                    city.setCityName(pgOrderBase.getCity());
+                    city.setLevel(2);
+                    city.insert();
+                }
+
+
+                if (area == null){
+                    area = new Region();
+
+                    area.setId(IdWorker.getIdStr());
+                    area.setPid(city.getId());
+                    area.setName(pgOrderBase.getArea());
+
+                    area.setProvinceName(pgOrderBase.getProvince());
+                    area.setProvinceCode(province.getId());
+
+                    area.setCityCode(city.getId());
+                    area.setCityName(city.getCityName());
+
+                    area.setAreaCode(area.getId());
+                    area.setAreaName(pgOrderBase.getArea());
+
+                    area.setLevel(3);
+                    area.insert();
+                }
+
+
+                if (street == null){
+                    street = new Region();
+
+                    street.setId(IdWorker.getIdStr());
+                    street.setPid(area.getId());
+                    street.setName(pgOrderBase.getStreet());
+
+                    street.setProvinceName(pgOrderBase.getProvince());
+                    street.setProvinceCode(province.getId());
+
+                    street.setCityCode(city.getId());
+                    street.setCityName(city.getCityName());
+
+                    street.setAreaCode(area.getId());
+                    street.setAreaName(pgOrderBase.getArea());
+
+                    street.setLevel(4);
+                    street.insert();
+                }
 
 
-                pgOrderBase.setStreetId(one.getId());
+                pgOrderBase.setProvinceId(province.getProvinceCode());
+                pgOrderBase.setCityId(province.getCityCode());
+                pgOrderBase.setAreaId(area.getAreaCode());
+                pgOrderBase.setStreetId(street.getId());
 
 
             }