From 0d706b553cc12de163f9f1ebb52fa263211af6d4 Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 14 Jun 2019 16:06:40 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=A1=E6=89=B9][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=88=E6=AD=A2=E5=AE=A1=E6=89=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contract/WxRentContractController.java | 7 ++++++ .../iformall/domain/po/WxRentContract.java | 4 ++++ .../service/WxRentContractService.java | 1 + .../impl/WxRentContractServiceImpl.java | 23 ++++++++++++++++++- 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index 16fee5c3b..d73b870ec 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -300,6 +300,13 @@ public class WxRentContractController extends BaseController { return wxRentContractService.hasContractNumber(wxRentContract); } + @PostMapping("endContract") + @SystemControllerLog(description = "租赁合同-终止合同") + public ResultData endContract(@RequestBody WxRentContract wxRentContract) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::endContract"); + wxRentContractService.endContract(wxRentContract); + return new ResultData(); + } } 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 53e619c38..ea33ca1b4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -87,6 +87,10 @@ public class WxRentContract extends BaseEntity { @SortColumn(column = "latePayPrice") private Integer latePayPrice; + @io.swagger.annotations.ApiModelProperty(value = "是否同时终止物业", name = "endProperty") + @Transient + private Integer endProperty; + @io.swagger.annotations.ApiModelProperty(value = "商户", name = "merchantId") private Long merchantId; @io.swagger.annotations.ApiModelProperty(value = "月租金/分成(分)", name = "price") diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index f60e9c1f1..7fdc39456 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -88,4 +88,5 @@ public interface WxRentContractService { Integer getShopType(WxRentContract wxRentContract); + void endContract(WxRentContract wxRentContract); } 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 0a4ffe4d2..72613ad53 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -103,7 +103,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { WxFlowRecordMapper wxFlowRecordMapper; @Autowired - WxPropertyContractService wxPropertyContractService; + WxBillPropertyMapper wxBillPropertyMapper; @Override public Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) { @@ -2017,6 +2017,27 @@ public class WxRentContractServiceImpl implements WxRentContractService { } return list; } + + @Override + public void endContract(WxRentContract wxRentContract) { + //终止租赁合同,同时终止物业合同 + if(EnumEndProperty.END_RENT_AND_PROPERTY.getCode().equals(wxRentContract.getEndProperty())){ + WxPropertyContract wxPropertyContract = new WxPropertyContract(); + wxPropertyContract.setRentContractId(wxRentContract.getId()); + wxPropertyContract.setStatus(EnumRentContractStatus.CONTRACT_TERMINATE.getCode()); + wxPropertyContractMapper.updateStatusByRentContractId(wxPropertyContract); + + //物业账单失效 + wxBillPropertyMapper.updateInvalidStatusByRent(wxRentContract); + } + //租赁账单失效 + WxBillRent wxBillRent = new WxBillRent(); + wxBillRent.setRentContractId(wxRentContract.getId()); + wxBillRentMapper.updateInvalidStatus(wxBillRent); + + //解绑商户和商铺关系 + wxMerchantService.disable(wxRentContractMapper.selectByPrimaryKey(wxRentContract.getId()).getMerchantId()); + } }