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