From 4b33bd645fd62844777b80955e522586b10f8072 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Tue, 30 Oct 2018 18:12:07 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=A7=9F=E8=B5=81=E5=90=88=E5=90=8C][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E6=B7=BB=E5=8A=A0=E6=96=B0=E5=90=88?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E5=88=A4=E6=96=AD=E5=BA=97=E9=93=BA=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=B7=B2=E5=85=B3=E8=81=94]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/common/ErrorCode.java | 3 ++- .../service/impl/WxMerchantServiceImpl.java | 1 + .../impl/WxRentContractServiceImpl.java | 22 +++++++++++++++++++ .../resources/mapper/WxRentContractMapper.xml | 2 ++ 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index cfbd0b503..3b65e8cb5 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -238,7 +238,8 @@ public enum ErrorCode{ * 租赁合同 * */ RENT_CONTRACT_IS_NOT_FOUND(15000,"租赁合同不存在"), - RENT_CONTRACT_IS_TERMINATED(15001,"租凭合同已终止"), + RENT_CONTRACT_IS_TERMINATED(15001,"租赁合同已终止"), + RENT_CONTRACT_WITH_SHOP_IS_FOUND(15002,"店铺存在已关联的合同"), /** * 物业合同 * */ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 3e4660a48..9a782f340 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -216,6 +216,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { return new ResultData(ErrorCode.SHOP_IS_RENT); } wxMerchantShopMapper.insertSelective(wxMerchantShop); + wxShop.setStatus(EnumShopStatus.RENT.getCode()); wxShopMapper.updateByPrimaryKeySelective(wxShop); } 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 4b151de3a..ae87f72b5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -31,6 +31,7 @@ import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.util.*; +import java.util.stream.Collectors; /** * @author gongbiao @@ -113,6 +114,16 @@ public class WxRentContractServiceImpl implements WxRentContractService { record.setCreatetime(date); record.setUpdatetime(date); try { + WxRentContract wxRentContract = new WxRentContract(); + wxRentContract.setTenantId(record.getTenantId()); + wxRentContract.setShopId(record.getShopId()); + long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). + filter(rc -> !rc.get("status").equals(EnumRentContractStatus.CONTRACT_TERMINATE.getCode()) + && !rc.get("status").equals(EnumRentContractStatus.WAIT_SIGN.getCode()) + && !rc.get("status").equals(EnumRentContractStatus.INVALID.getCode())).count(); + if(count>0){ + return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); + } wxRentContractMapper.insertSelective(record); } catch (Exception e) { logger.error("保存租赁合同信息失败,e:" + e.getMessage()); @@ -136,6 +147,17 @@ public class WxRentContractServiceImpl implements WxRentContractService { record.setStatus(EnumRentContractStatus.WAIT_SIGN.getCode()); } try { + WxRentContract wxRentContractParams = new WxRentContract(); + wxRentContractParams.setTenantId(record.getTenantId()); + wxRentContractParams.setShopId(record.getShopId()); + long count = wxRentContractMapper.queryRentContractData(wxRentContractParams).stream(). + filter(rc -> !rc.get("status").equals(EnumRentContractStatus.CONTRACT_TERMINATE.getCode()) + && !rc.get("status").equals(EnumRentContractStatus.WAIT_SIGN.getCode()) + && !rc.get("status").equals(EnumRentContractStatus.INVALID.getCode()) + && !rc.get("id").equals(wxRentContract.getId())).count(); + if(count>0){ + return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); + } wxRentContractMapper.updateByPrimaryKeySelective(record); //建立账单 if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index 984b79acf..69c1ba177 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -94,6 +94,8 @@ and rc.`merchant_name` like concat('%',#{merchantName},'%') and s.`shop_number` like concat('%',#{shopNumber},'%') and rc.`status` = #{status} + and rc.`shop_id` = #{shopId} + order by rc.id desc