diff --git a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/result/CaResidentResultDTO.java b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/result/CaResidentResultDTO.java index a94247a9ba..2e32889995 100644 --- a/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/result/CaResidentResultDTO.java +++ b/epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/result/CaResidentResultDTO.java @@ -16,6 +16,16 @@ public class CaResidentResultDTO implements Serializable { private String streetName; + /** + * 房屋id + */ + private String homeId; + + /** + * ic_resi_user表id + */ + private String icResiUserId; + /** * 人口ID */ diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.10__add_indexes_of_ca_resident_user.sql b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.10__add_indexes_of_ca_resident_user.sql new file mode 100644 index 0000000000..93ea003731 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.10__add_indexes_of_ca_resident_user.sql @@ -0,0 +1,2 @@ +ALTER TABLE `ca_resident_user` ADD INDEX ID_CARD (`id_card` ); +ALTER TABLE `ca_resident_user` ADD INDEX DEL_FLAG (`DEL_FLAG` ) diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.11__update_ca_view.sql b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.11__update_ca_view.sql new file mode 100644 index 0000000000..c145aeb367 --- /dev/null +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/db/migration/V0.0.11__update_ca_view.sql @@ -0,0 +1,35 @@ +DROP INDEX DEL_FLAG ON `ca_resident_user` + +DROP VIEW IF EXISTS `view_grid_comm_street_ca`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `view_grid_comm_street_ca` AS SELECT +`g4`.`grid_id` AS `grid_id`, +`g4`.`grid_name` AS `grid_name`, +`g3`.`grid_id` AS `community_id`, +`g3`.`grid_name` AS `community_name`, +`g2`.`grid_id` AS `street_id`, +`g2`.`grid_name` AS `street_name`, +concat( `g2`.`grid_id`, ':', `g3`.`grid_id`, ':', `g4`.`grid_id` ) AS `grid_id_path`, +`bbo`.`business_org_id` AS `business_org_id` +FROM + ((( + `ca_bm_grid` `g4` + JOIN `ca_bm_grid` `g3` ON ((( + `g3`.`grid_id` = `g4`.`parent_id` + ) + AND ( `g3`.`grid_level` = 'level3' ) + AND ( `g3`.`delete_flag` = 'normal' )))) + JOIN `ca_bm_grid` `g2` ON ((( + `g2`.`grid_id` = `g3`.`parent_id` + ) + AND ( `g2`.`grid_level` = 'level2' ) + AND ( `g2`.`delete_flag` = 'normal' )))) + LEFT JOIN `business_bind_org` `bbo` ON ((( + concat( `g4`.`grid_id` ) = `bbo`.`third_org_id` + ) + AND ( `bbo`.`business_code` = 'ca' ) + AND ( `bbo`.`DEL_FLAG` = '0' )))) +WHERE + (( + `g4`.`grid_level` = 'level4' + ) + AND ( `g4`.`delete_flag` = 'normal' )) \ No newline at end of file diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/CaResidentDao.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/CaResidentDao.xml index c541483cf0..a0243f0dc8 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/CaResidentDao.xml +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/CaResidentDao.xml @@ -103,10 +103,13 @@ ca.plat_code, vs.grid_name, vs.community_name as comName, - vs.street_name + vs.street_name, + cau.home_id, + cau.ic_resi_user_id FROM ca_resident as ca left join view_grid_comm_street_ca as vs on ca.grid_id = vs.grid_id + left join ca_resident_user as cau on cau.id_card = ca.id_card and del_flag = '0' ca.delete_flag = 'normal' diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 3f1f5b47a9..1ce1560050 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -2634,32 +2634,24 @@ public class IcResiUserServiceImpl extends BaseServiceImpl result = guardarDatosFeignClient.getResidentDetailByIdCard(dto); ResidentByIdCardResultDTO residentDetailByIdCard = result.getData(); - if (org.springframework.util.StringUtils.isEmpty(residentDetailByIdCard)) { - throw new RenException("获取不到人的信息"); - } - // 根据房屋id获取房屋信息 - if (StringUtils.isBlank(form.getHomeId())) { - throw new RenException("房屋id不能为空"); + if(!result.success() || residentDetailByIdCard == null){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民信息失败", "获取居民信息失败"); } HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(form.getCustomerId(), form.getHomeId()); - if (org.springframework.util.StringUtils.isEmpty(houseInfo)) { - throw new RenException("获取不到房屋信息"); + if(houseInfo == null){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败"); } // 将人的信息放入ic_resi_user对象中 IcResiUserEntity entity = new IcResiUserEntity(); entity.setCustomerId(form.getCustomerId()); // 进行日期转换 if(residentDetailByIdCard.getBirthday() == null){ - throw new RenException("出生日期为空"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取出生日期失败", "获取出生日期失败"); } - Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String birthday = sdf.format(residentDetailByIdCard.getBirthday()); @@ -2672,7 +2664,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl resultDTOResult = getGovOrgOpenFeignClient.getHouseAgencyInfo(houseInfo.getHomeId()); - entity.setGridId(resultDTOResult.getData().getGridId()); - entity.setPids(resultDTOResult.getData().getPids()); + HouseAgencyInfoResultDTO data = resultDTOResult.getData(); + entity.setGridId(data.getGridId()); + entity.setPids(data.getPids() + ":" + data.getAgencyId()); } else { - throw new RenException("房屋信息不全"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "房屋信息不完整", "房屋信息不完整"); } SaveCaResidentUserFormDTO saveForm = new SaveCaResidentUserFormDTO(); saveForm.setHomeId(form.getHomeId()); @@ -2698,14 +2691,12 @@ public class IcResiUserServiceImpl extends BaseServiceImpl