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