From 8e98b079bd0a69878e1e553b7559a67401f81ea3 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 10 May 2022 13:31:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=88=BF=E5=B1=8B=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=EF=BC=8C=E5=8F=98=E5=8A=A8=E8=AE=B0=E5=BD=95=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/model/ImportHouseInfoListener.java | 10 ++++++- .../java/com/epmet/service/HouseService.java | 11 ++++++++ .../epmet/service/impl/HouseServiceImpl.java | 26 ++++++++++++++----- 3 files changed, 39 insertions(+), 8 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java index dad231ed5c..2203ca98a2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java @@ -11,6 +11,7 @@ import com.epmet.constant.CustomerGridConstant; import com.epmet.constant.ImportErrorMsgConstants; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcBuildingDao; +import com.epmet.dto.IcHouseDTO; import com.epmet.dto.ImportGeneralDTO; import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; @@ -22,6 +23,7 @@ import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseTypeEnums; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.redis.IcHouseRedis; +import com.epmet.service.HouseService; import com.epmet.service.IcHouseService; import com.epmet.service.IcNeighborHoodService; import lombok.extern.slf4j.Slf4j; @@ -83,9 +85,10 @@ public class ImportHouseInfoListener extends AnalysisEventListener houses){ if (!CollectionUtils.isEmpty(houses)){ + houses.forEach(h -> { + IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(h, IcHouseDTO.class); + houseService.houseChangeRecord(h.getHouseId(), h.getCustomerId(), icHouseDTO); + }); icHouseService.houseUpdate(houses); // buildingIdSet.addAll(houses.stream().map(ImportGeneralDTO::getBuildingId).collect(Collectors.toSet())); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 3ef5b4ca2a..b872a9fc8c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -19,6 +19,7 @@ package com.epmet.service; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.IcHouseDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -40,6 +41,16 @@ public interface HouseService { void updateHouse(String customerId, IcHouseAddFormDTO formDTO); + /** + * Desc: 房屋变更记录 + * @param houseId + * @param customerId + * @param houseDTO + * @author zxc + * @date 2022/5/10 10:57 + */ + void houseChangeRecord(String houseId, String customerId, IcHouseDTO houseDTO); + /** * 小寨子社区-合同签订后变更成出租状态 * diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index dc7960d113..9b7ff4c489 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -100,6 +100,8 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { private IcHouseChangeRecordService changeRecordService; @Autowired private IcHouseChangeDetailService changeDetailService; + @Autowired + private HouseService houseService; @Override @@ -154,6 +156,16 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { icHouseRedis.delHouseInfo(formDTO.getHouseId(),customerId); } + /** + * Desc: 房屋变更记录 + * @param houseId + * @param customerId + * @param houseDTO + * @author zxc + * @date 2022/5/10 10:57 + */ + @Transactional(rollbackFor = Exception.class) + @Override public void houseChangeRecord(String houseId, String customerId, IcHouseDTO houseDTO){ IcHouseEntity entity = icHouseService.selectById(houseId); if (null == entity){ @@ -163,29 +175,29 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { StringBuilder sbAfter = new StringBuilder(); List entityList = new ArrayList<>(); if (!houseDTO.getHouseType().equals(entity.getHouseType())){ - sbAfter.append(HouseChangeEnums.HOUSE_TYPE.getColumnName()).append(":").append(houseDTO.getHouseTypeName()).append(";"); + sbAfter.append(HouseChangeEnums.HOUSE_TYPE.getColumnName()).append(":").append(null == houseDTO.getHouseTypeName() ? HouseTypeEnums.getTypeValue(houseDTO.getHouseType()) : houseDTO.getHouseTypeName()).append(";"); sbBefore.append(HouseChangeEnums.HOUSE_TYPE.getColumnName()).append(":").append(HouseTypeEnums.getTypeValue(entity.getHouseType())).append(";"); IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity(); e.setChangeCol(HouseChangeEnums.HOUSE_TYPE.getColumn()); e.setChangeBefore(HouseTypeEnums.getTypeValue(entity.getHouseType())); - e.setChangeAfter(houseDTO.getHouseTypeName()); + e.setChangeAfter(null == houseDTO.getHouseTypeName() ? HouseTypeEnums.getTypeValue(houseDTO.getHouseType()) : houseDTO.getHouseTypeName()); entityList.add(e); } if (!houseDTO.getPurpose().equals(entity.getPurpose())){ - sbAfter.append(HouseChangeEnums.PURPOSE.getColumnName()).append(":").append(houseDTO.getPurposeName()).append(";"); + sbAfter.append(HouseChangeEnums.PURPOSE.getColumnName()).append(":").append(null == houseDTO.getPurposeName() ? HousePurposeEnums.getTypeValue(houseDTO.getPurpose()) : houseDTO.getPurposeName()).append(";"); sbBefore.append(HouseChangeEnums.PURPOSE.getColumnName()).append(":").append(HousePurposeEnums.getTypeValue(entity.getPurpose())).append(";"); IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity(); e.setChangeCol(HouseChangeEnums.PURPOSE.getColumn()); - e.setChangeAfter(houseDTO.getPurposeName()); + e.setChangeAfter(null == houseDTO.getPurposeName() ? HousePurposeEnums.getTypeValue(houseDTO.getPurpose()) : houseDTO.getPurposeName()); e.setChangeBefore(HousePurposeEnums.getTypeValue(entity.getPurpose())); entityList.add(e); } if (!houseDTO.getRentFlag().equals(entity.getRentFlag())){ - sbAfter.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(houseDTO.getRentName()).append(";"); + sbAfter.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName()).append(";"); sbBefore.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(HouseRentFlagEnums.getTypeValue(entity.getRentFlag())).append(";"); IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity(); e.setChangeCol(HouseChangeEnums.RENT_FLAG.getColumn()); - e.setChangeAfter(houseDTO.getRentName()); + e.setChangeAfter(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName()); e.setChangeBefore(HouseRentFlagEnums.getTypeValue(entity.getRentFlag())); entityList.add(e); } @@ -336,7 +348,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { excelReader = EasyExcel.read(inputStream).build(); // 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener ReadSheet readSheet = EasyExcel.readSheet(0).head(HouseInfoModel.class) - .registerReadListener(new ImportHouseInfoListener(formDTO,icBuildingDao,icHouseRedis,neighborHoodService,icHouseService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId())) + .registerReadListener(new ImportHouseInfoListener(formDTO,icBuildingDao,icHouseRedis,neighborHoodService,icHouseService,epmetCommonServiceOpenFeignClient,importTask.getData().getTaskId(),houseService)) .build(); excelReader.read(readSheet); } catch (Exception e){