From 1dccb70d930347c5091fd226287b0de75f801589 Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Sun, 15 Jun 2025 17:58:26 +0800 Subject: [PATCH] fix --- .../main/java/com/iformall/domain/po/WxRentContract.java | 2 +- .../java/com/iformall/mapper/WxRentContractMapper.java | 1 + .../iformall/service/impl/WxRentContractServiceImpl.java | 9 +++++---- .../src/main/resources/mapper/WxRentContractMapper.xml | 9 ++++++--- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java index 9aa91c038..fc3b7c00e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -32,7 +32,7 @@ import java.util.List; import java.util.Map; /** - * @author gongbiao + * 如字段有更新,需同步更新到wx_rent_contract_valid_delete */ @TableName(value = "wx_rent_contract") @Data diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java index f18fc2012..fc4a9183d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java @@ -41,6 +41,7 @@ public interface WxRentContractMapper extends CommonMapper List findToEndContractList(WxRentContract rentContract); + void copyValidDeleteContract(@Param("tenantId") String tenantId,@Param("id") Long id); void deleteContract(@Param("tenantId") String tenantId,@Param("id") Long id); void updateContractId(@Param("tenantId") String tenantId,@Param("oldId") Long oldId,@Param("newId") Long newId); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 60026f27d..4d3e97bda 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -520,8 +520,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { Long orginId = record.getOrginId(); if (record.isYingZiContract()){ isYingzi = true; - wxRentContractMapper.deleteContract(record.getTenantId(),id); - wxRentContractMapper.updateContractId(record.getTenantId(), id, record.getOrginId()); + wxRentContractMapper.copyValidDeleteContract(record.getTenantId(), orginId); + wxRentContractMapper.deleteContract(record.getTenantId(),orginId); + wxRentContractMapper.updateContractId(record.getTenantId(), id, orginId); record.setId(orginId); } @@ -553,13 +554,13 @@ public class WxRentContractServiceImpl implements WxRentContractService { //影子合同处理,源合同账单则需要清空当前时间之后未处理的账单 if (isYingzi) { - //当前时间之后的未处理过的账单,全部删除,之前的账单,还有以后已经处理过的账单,不处理。需财务手工处理这些账单 + //原合同账单处理:当前时间之后的未处理过的账单,全部删除,之前的账单,还有以后已经处理过的账单,不处理。需财务手工处理这些账单 WxAllBill bq = new WxAllBill(); bq.updateTenantInfo(wxRentContract); bq.setRentContractId(orginId); bq.setShopEndtime(record.getRentalStartDate()); wxAllBillMapper.deleteNoNeedPayBill(bq); - //把原账单的合同编号更改为源合同ID + //新合同的账单:把账单的合同编号更改为源合同ID wxAllBillMapper.updateContractId(id, orginId, wxRentContract.getTenantId()); } diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index 54205b9d3..9e4204326 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -243,13 +243,16 @@ where `tenant_id` = #{tenantId} and status = 3 and end_contract_time <= now(); + + insert into wx_rent_contract_valid_delete select * from wx_rent_contract where id = #{id} and `tenant_id` = #{tenantId} + + - insert into wx_rent_contract_valid_delete select * from wx_rent_contract where id = #{id} and `tenant_id` = #{tenantId}; - delete from wx_rent_contract where `tenant_id` = #{tenantId} and id = #{id}; + delete from wx_rent_contract where `tenant_id` = #{tenantId} and id = #{id} - update wx_rent_contract set id = #{newId} where id = #{oldId} and `tenant_id` = #{tenantId}; + update wx_rent_contract set id = #{newId},orgin_id = null, where id = #{oldId} and `tenant_id` = #{tenantId}