From 32482479d2086098b7af63bfff7582f807e81906 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Mon, 7 Sep 2020 11:37:38 +0800 Subject: [PATCH] fix contract --- .../java/com/iformall/config/ShiroConfig.java | 2 +- .../contract/WxRentContractController.java | 22 +++++++++++++++++++ .../iformall/schedule/ContractSchedule.java | 1 + .../java/com/iformall/domain/po/WxMall.java | 6 +---- .../service/WxPropertyContractService.java | 2 ++ .../service/WxRentContractService.java | 6 +++++ .../impl/WxPropertyContractServiceImpl.java | 21 ++++++++++++++++++ .../impl/WxRentContractServiceImpl.java | 18 +++++++++++++++ 8 files changed, 72 insertions(+), 6 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index eaadb1510..83d21c743 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -154,7 +154,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/logout", "authc"); // filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); - filterChainDefinitionMap.put("/**", "anon"); +// filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); 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 acaf27d5a..96615103b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -618,6 +618,28 @@ public class WxRentContractController extends WxContractBaseController { } catch (Exception e) { return new ResultData(Result.ERROR,e.getMessage()); } + //如果是租金+物业合同,如果没有物业合同或者物业合同不是草稿状态,不能提交审核 + if (rentContract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { + if (null == wxRentContract.getPropertyId()) { + return new ResultData(Result.ERROR,"未创建物业合同,请先完善。"); + } + WxPropertyContract property = wxPropertyContractService.getSimpleDetail(wxRentContract.getPropertyId()); + if (null == property) { + return new ResultData(Result.ERROR,"未创建物业合同,请先完善。"); + } + if (property.getStatus().intValue() == EnumRentContractStatus.UNWRITE.getCode().intValue()) { + return new ResultData(Result.ERROR,"物业合同未完善,请先完善。"); + } + if (property.getStatus().intValue() != EnumRentContractStatus.DRAFT.getCode().intValue()) { + return new ResultData(Result.ERROR,"物业合同当前状态不能提交审批。"); + } + + WxPropertyContract wpc = new WxPropertyContract(); + wpc.setStatus(EnumRentContractStatus.DRAFT.getCode()); + wpc.setRentContractId(rentContract.getId()); + wpc.setOperationType(EnumRentShopType.SHOP.getCode()); + List list = wxPropertyContractService.findList(wpc); + } if(rentContract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) { if (rentContract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java index 23632e652..f1283707f 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java @@ -48,6 +48,7 @@ public class ContractSchedule { try { //租金合同 wxRentContractService.outDateContract(wxMall); + wxRentContractService.readyToNomal(wxMall); }catch(Exception e) { log.error("rentcontract outDate error.",e); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java index 739a126a5..5487fb3ec 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java @@ -21,15 +21,11 @@ import java.util.List; @TableName(value = "wx_mall") @Data @EqualsAndHashCode(callSuper = true) -public class WxMall extends BaseEntity { +public class WxMall extends TenantEntity { @TableId(type= IdType.AUTO) protected Long id; - @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") - private String tenantId; - @io.swagger.annotations.ApiModelProperty(value="父租户ID",name="parentTenantId") - private String parentTenantId; @io.swagger.annotations.ApiModelProperty(value="商场名",name="name") private String name; @TableField(value = "`group`") diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index 38dad083c..26f074b9f 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -88,6 +88,8 @@ public interface WxPropertyContractService { void outDateContract(WxMall wxMall); + void readyToNomal(WxMall wxMall); + WxPropertyContract getSimpleDetail(@Param("id") Long id); void updatePropertyContract(WxPropertyContract record); diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index 714d38c06..7acaf5001 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -110,6 +110,12 @@ public interface WxRentContractService { */ void outDateContract(WxMall wxMall); + /** + * 已签约未计租 变为计租中 + * @param wxMall + */ + void readyToNomal(WxMall wxMall); + WxRentContract getSimpleDeatil(Long id); /** diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 0cb1959fd..a3665f58e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -1135,6 +1135,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService //查询有计租合同的商户 WxPropertyContract wr = new WxPropertyContract(); wr.setStatuss(EnumRentContractStatus.getValidStatus()); + wr.updateTenantInfo(wxMall); List contractList = wxPropertyContractMapper.findList(wr); for (WxPropertyContract contract: contractList) { try { @@ -1159,6 +1160,26 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService public void updatePropertyContract(WxPropertyContract record) { wxPropertyContractMapper.updateById(record); } + + @Override + public void readyToNomal(WxMall wxMall) { + WxPropertyContract wr = new WxPropertyContract(); + wr.setStatus(EnumRentContractStatus.READY_FOR_PAING.getCode()); + wr.updateTenantInfo(wxMall); + List contractList = wxPropertyContractMapper.findList(wr); + for (WxPropertyContract contract: contractList) { + try { + + if (contract.getRentalStartDate().before(new Date())) { + contract.setStatus(EnumRentContractStatus.PAING.getCode()); + wxPropertyContractMapper.updateById(contract); + } + }catch(Exception e) { + logger.error("WxPropertyContract["+contract.getId()+"] outDateContract error.",e); + } + + } + } } 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 420a140c9..5f8c07a39 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -2517,6 +2517,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { //查询有计租合同的商户 WxRentContract wr = new WxRentContract(); wr.setStatuss(EnumRentContractStatus.getValidStatus()); + wr.updateTenantInfo(wxMall); List merchantIds = wxRentContractMapper.getMerchantIdsByStatuss(wr); for (Long mid: merchantIds) { if (null == mid) { @@ -2569,6 +2570,22 @@ public class WxRentContractServiceImpl implements WxRentContractService { } } + @Override + public void readyToNomal(WxMall wxMall) { + WxRentContract wr = new WxRentContract(); + wr.setStatus(EnumRentContractStatus.READY_FOR_PAING.getCode()); + wr.updateTenantInfo(wxMall); + List rentList = wxRentContractMapper.findList(wr); + if (null != rentList && rentList.size() > 0 ) { + for (WxRentContract wrc : rentList) { + if (wrc.getRentalStartDate().before(new Date())) { + wrc.setStatus(EnumRentContractStatus.PAING.getCode()); + wxRentContractMapper.updateStatus(wrc); + } + } + } + } + @Override public WxRentContract getSimpleDeatil(Long id) { return wxRentContractMapper.selectById(id); @@ -2593,4 +2610,5 @@ public class WxRentContractServiceImpl implements WxRentContractService { } return exists; } + }