diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java index ed8154972..e848b0f5f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java @@ -9,7 +9,7 @@ import java.util.Map; /** * @author gongbiao */ -public interface WxRentContractMapper extends CommonMapper { +public interface WxRentContractMapper extends CommonMapper { List findList(WxRentContract wxRentContract); @@ -47,4 +47,6 @@ public interface WxRentContractMapper extends CommonMapper getMerchants(WxRentContract wxRentContract); + int selectRentContractCountByShopId(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 fbae7c59b..9d4f6b432 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -205,19 +205,28 @@ public class WxRentContractServiceImpl implements WxRentContractService { Date date = new Date(); record.setCreatetime(date); record.setUpdatetime(date); - try { + + String rentInfo = record.getRentInfo(); + JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); + int size = rentInfoArray.size(); + if (size == 0) { + return new ResultData(ErrorCode.SHOP_NOT_SELECTED); + } + + //查询rent_info 包括 shopId + for (int i = 0; i < size; i++) { + JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); 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()) - && !rc.get("status").equals(EnumRentContractStatus.CONTRACT_END.getCode()) - && !rc.get("status").equals(EnumRentContractStatus.INTENTION.getCode())).count(); + wxRentContract.setShopId(rentInfoObject.getLong("shopId")); + int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContract); if (count > 0) { - return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); + String shopNumber = rentInfoObject.getString("shopNumber"); + return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + shopNumber + " 已出租"); } + } + + try { record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); wxRentContractMapper.insertSelective(record); } catch (Exception e) { diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index b03d2808d..6c450ee10 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -223,5 +223,9 @@ and merchant_id not in(select merchant_id from wx_property_contract where status in(2,3,4)) and rent_shop_type = #{rentShopType} + +