Browse Source

修改区域获取

785834757 2 years ago
parent
commit
963714ca6c

+ 32 - 26
src/main/java/com/ydtech/modules/admin/service/impl/SysAreaServiceImpl.java

@@ -61,34 +61,40 @@ public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea>
         //截取身份证的省级代码
         String provincesCode  = idcard.substring(0, 3);
         //获取省级的区划
-        List<SysArea> provincesArea = collect.stream().filter(item -> item.getAreaCode().substring(0, 3).equals(provincesCode)).collect(Collectors.toList());
-        //如果查不出来默认使用赛选出的第一个
-        if(provincesArea.size() == 0){
-            provincesArea.add(collect.get(0));
-        }
-        List<SysArea> sysAreas = this.queryAllParent(provincesArea.get(0));
-        sysAreas.sort((o1, o2) -> o2.getLevel() - o1.getLevel());
-        //如果等于2 说明是直辖市
-        if(sysAreas.size() >= 2){
-            if(sysAreas.size() == 2){
-                personAreaVo.setProvinceCode(Integer.valueOf(sysAreas.get(0).getAreaCode()));
-                personAreaVo.setProvinceName(sysAreas.get(0).getAreaCname());
-                personAreaVo.setCityCode(Integer.valueOf(sysAreas.get(0).getAreaCode()));
-                personAreaVo.setCityName(sysAreas.get(0).getAreaCname());
-                personAreaVo.setCountyCode(Integer.valueOf(sysAreas.get(1).getAreaCode()));
-                personAreaVo.setCountyName(sysAreas.get(1).getAreaCname());
-            }else{
-                personAreaVo.setProvinceCode(Integer.valueOf(sysAreas.get(0).getAreaCode()));
-                personAreaVo.setProvinceName(sysAreas.get(0).getAreaCname());
-                personAreaVo.setCityCode(Integer.valueOf(sysAreas.get(1).getAreaCode()));
-                personAreaVo.setCityName(sysAreas.get(1).getAreaCname());
-                personAreaVo.setCountyCode(Integer.valueOf(sysAreas.get(2).getAreaCode()));
-                personAreaVo.setCountyName(sysAreas.get(2).getAreaCname());
+        if(collect.size() > 0) {
+            List<SysArea> provincesArea = collect.stream().filter(item -> item.getAreaCode().substring(0, 3).equals(provincesCode)).collect(Collectors.toList());
+            //如果查不出来默认使用赛选出的第一个
+            if (provincesArea.size() == 0) {
+                provincesArea.add(collect.get(0));
+            }
+            List<SysArea> sysAreas = this.queryAllParent(provincesArea.get(0));
+            sysAreas.sort((o1, o2) -> o2.getLevel() - o1.getLevel());
+            //如果等于2 说明是直辖市
+            if (sysAreas.size() >= 2) {
+                if (sysAreas.size() == 2) {
+                    personAreaVo.setProvinceCode(Integer.valueOf(sysAreas.get(0).getAreaCode()));
+                    personAreaVo.setProvinceName(sysAreas.get(0).getAreaCname());
+                    personAreaVo.setCityCode(Integer.valueOf(sysAreas.get(0).getAreaCode()));
+                    personAreaVo.setCityName(sysAreas.get(0).getAreaCname());
+                    personAreaVo.setCountyCode(Integer.valueOf(sysAreas.get(1).getAreaCode()));
+                    personAreaVo.setCountyName(sysAreas.get(1).getAreaCname());
+                } else {
+                    personAreaVo.setProvinceCode(Integer.valueOf(sysAreas.get(0).getAreaCode()));
+                    personAreaVo.setProvinceName(sysAreas.get(0).getAreaCname());
+                    personAreaVo.setCityCode(Integer.valueOf(sysAreas.get(1).getAreaCode()));
+                    personAreaVo.setCityName(sysAreas.get(1).getAreaCname());
+                    personAreaVo.setCountyCode(Integer.valueOf(sysAreas.get(2).getAreaCode()));
+                    personAreaVo.setCountyName(sysAreas.get(2).getAreaCname());
+                }
+            } else {
+                personAreaVo.setProvinceCode(Integer.parseInt(idcard.substring(0, 2) + "0000"));
+                personAreaVo.setCityCode(Integer.parseInt(idcard.substring(0, 4) + "00"));
+                personAreaVo.setCountyCode(Integer.parseInt(idcard.substring(0, 6)));
             }
         }else{
-            personAreaVo.setProvinceCode(Integer.parseInt(idcard.substring(0,2) + "0000"));
-            personAreaVo.setProvinceCode(Integer.parseInt(idcard.substring(0,4) + "00"));
-            personAreaVo.setProvinceCode(Integer.parseInt(idcard.substring(0,6)));
+            personAreaVo.setProvinceCode(Integer.parseInt(idcard.substring(0, 2) + "0000"));
+            personAreaVo.setCityCode(Integer.parseInt(idcard.substring(0, 4) + "00"));
+            personAreaVo.setCountyCode(Integer.parseInt(idcard.substring(0, 6)));
         }
         return personAreaVo;
     }