From eda3a6196e42b715cd19161934eb7a52b1f81380 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Thu, 27 Aug 2020 00:13:42 +0800 Subject: [PATCH] fix contract --- .../contract/WxRentContractController.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) 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 61e2cbe57..966ca8ef5 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -452,6 +452,12 @@ public class WxRentContractController extends WxContractBaseController { return new ResultData(Result.ERROR,e.getMessage()); } + try { + validShop(contract); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + wxRentContractService.updateRentContractStatus(wxRentContract.getId()); if(contract.getOperationType().intValue() == EnumContractOperationType.WHOLE.getCode().intValue()) { wxPropertyContractService.updatePropertyContractStatus(wxRentContract.getPropertyId()); @@ -479,6 +485,22 @@ public class WxRentContractController extends WxContractBaseController { } } + private void validShop(WxRentContract rentContract) throws Exception { + //判断该合同的店铺是不是在商户的店铺的绑定关系里面 + List shopIds = wxMerchantService.getMerchantShopIds(rentContract.getMerchantId()); + if (null == shopIds) { + throw new MallinkException(Result.ERROR, "该商户未绑定任何商铺。"); + } + List cids = rentContract.shopIdsByRentInfo(); + if (null == cids) { + throw new MallinkException(Result.ERROR, "该合同未绑定任何商铺。"); + } + + if (!shopIds.containsAll(cids)) { + throw new MallinkException(Result.ERROR, "该合同绑定的部分商铺未在商户绑定的店铺范围内。"); + } + } + @PostMapping("apply") @SystemControllerLog(description = "租赁合同-提交审批") public ResultData apply(@RequestBody WxRentContract wxRentContract) { @@ -498,6 +520,12 @@ public class WxRentContractController extends WxContractBaseController { return new ResultData(Result.ERROR,e.getMessage()); } + try { + validShop(rentContract); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + if(rentContract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) { if (rentContract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { rentContract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_RENT_CONTRACT, EnumFlowContractType.RENT, wxRentContract.getRemark(), wxRentContract.getId(),null));