|
@@ -61,34 +61,40 @@ public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea>
|
|
|
//截取身份证的省级代码
|
|
//截取身份证的省级代码
|
|
|
String provincesCode = idcard.substring(0, 3);
|
|
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{
|
|
}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;
|
|
return personAreaVo;
|
|
|
}
|
|
}
|