From d8cb1598867636e2df20c7fe558a2bac2e8b87ce Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Thu, 13 Aug 2020 19:15:50 +0800 Subject: [PATCH] update --- .../contract/WxRentContractController.java | 104 ++-- .../V202007311200__FOR_MEMBER_ONLY_001.sql | 11 + .../iformall/schedule/ContractSchedule.java | 48 +- .../iformall/domain/po/WxRentContract.java | 13 +- .../domain/po/WxRentContractShop.java | 25 + .../iformall/mapper/WxRentContractMapper.java | 40 +- .../mapper/WxRentContractShopMapper.java | 14 + .../service/WxRentContractService.java | 28 +- .../WxRentPropertyContractService.java | 2 +- .../service/impl/DataTowerServiceImpl.java | 4 +- .../service/impl/WxFlowServiceImpl.java | 3 - .../service/impl/WxMerchantServiceImpl.java | 66 +-- .../impl/WxRentContractServiceImpl.java | 546 +++++++++--------- .../WxRentPropertyContractServiceImpl.java | 8 +- .../invest/impl/InvestBizServiceImpl.java | 2 +- .../resources/mapper/WxRentContractMapper.xml | 108 ++-- .../mapper/WxRentContractShopMapper.xml | 34 ++ 17 files changed, 590 insertions(+), 466 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java create mode 100644 mallinkService/src/main/resources/mapper/WxRentContractShopMapper.xml 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 25a0790ec..a9a03401e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -121,8 +121,8 @@ public class WxRentContractController extends WxContractBaseController { wxRentContract = new WxRentContract(); } wxRentContract.updateTenantInfo(getTenantInfo()); - Map result = wxRentContractService.listAsPage(wxRentContract, pageNum, pageSize); - return new ResultData(result); + //Map result = wxRentContractService.listAsPage(wxRentContract, pageNum, pageSize); + return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize)); } /** @@ -140,7 +140,7 @@ public class WxRentContractController extends WxContractBaseController { if(dbRent.getRentStartType()!=null && dbRent.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ dbRent.setRentalStartDate(dbRent.getStartDate()); } - List result = wxRentContractService.buildRent(new WxMerchant(),getUserId(),dbRent, EnumIsPreview.YES.getCode(), false); + List result = wxRentContractService.buildRent(getUserId(),dbRent, EnumIsPreview.YES.getCode(), false); return new ResultData(result); } @@ -173,6 +173,49 @@ public class WxRentContractController extends WxContractBaseController { return wxRentContractService.save(wxRentContract, user.getId(),user.getName(),oldDate); } + + /** + * 防止前端3秒重复提交 + * @param wxRentContract + * @return + */ + @PostMapping("updateMoney") + @SystemControllerLog(description = "租赁合同-更新金额") + public ResultData updateMoney(@RequestBody WxRentContract wxRentContract) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::updateMoney"); + if(StringUtils.isBlank(wxRentContract.getBusDiscountRatio())){ + wxRentContract.setBusDiscountTime(new Integer(0)); + } + MallUserInfo user = getUser(); + wxRentContract.updateTenantInfo(user); + wxRentContract.setAdjustPeriodHandle(); + wxRentContract.setRentPriceHandle(); + Date oldDate = wxRentContract.getRentalStartDate(); + if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ + wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); + } + return wxRentContractService.update(wxRentContract, user.getId(),user.getName(),EnumFromType.OTHER.getCode(),oldDate); + } + + @PostMapping("updateFile") + @SystemControllerLog(description = "租赁合同-更新文件") + public ResultData updateFile(@RequestBody WxRentContract wxRentContract) { + logger.debug("[" + getIpAddr() + "] WxRentContractController::updateFile"); + if(StringUtils.isBlank(wxRentContract.getBusDiscountRatio())){ + wxRentContract.setBusDiscountTime(new Integer(0)); + } + MallUserInfo user = getUser(); + wxRentContract.updateTenantInfo(user); + wxRentContract.setAdjustPeriodHandle(); + wxRentContract.setRentPriceHandle(); + Date oldDate = wxRentContract.getRentalStartDate(); + if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ + wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); + } + return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName(),oldDate); + } + + @PostMapping("updateRentStartTime") @SystemControllerLog(description = "租赁合同-更新租赁开始日期") public ResultData updateRentStartTime(@RequestBody WxRentContract wxRentContract) { @@ -215,46 +258,9 @@ public class WxRentContractController extends WxContractBaseController { return update; } - /** - * 防止前端3秒重复提交 - * @param wxRentContract - * @return - */ - @PostMapping("updateMoney") - @SystemControllerLog(description = "租赁合同-更新金额") - public ResultData updateMoney(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateMoney"); - if(StringUtils.isBlank(wxRentContract.getBusDiscountRatio())){ - wxRentContract.setBusDiscountTime(new Integer(0)); - } - MallUserInfo user = getUser(); - wxRentContract.updateTenantInfo(user); - wxRentContract.setAdjustPeriodHandle(); - wxRentContract.setRentPriceHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.update(wxRentContract, user.getId(),user.getName(),EnumFromType.OTHER.getCode(),oldDate); - } + + - @PostMapping("updateFile") - @SystemControllerLog(description = "租赁合同-更新文件") - public ResultData updateFile(@RequestBody WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::updateFile"); - if(StringUtils.isBlank(wxRentContract.getBusDiscountRatio())){ - wxRentContract.setBusDiscountTime(new Integer(0)); - } - MallUserInfo user = getUser(); - wxRentContract.updateTenantInfo(user); - wxRentContract.setAdjustPeriodHandle(); - wxRentContract.setRentPriceHandle(); - Date oldDate = wxRentContract.getRentalStartDate(); - if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ - wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); - } - return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName(),oldDate); - } @GetMapping("/del") @ApiImplicitParam(name = "id", value = "id", dataType = "String", paramType = "query", required = true) @@ -288,13 +294,13 @@ public class WxRentContractController extends WxContractBaseController { wxRentContractService.download(request,response); } - @GetMapping("/getRentContractStatusInfo") - @SystemControllerLog(description = "租赁合同-获取合同状态信息") - public ResultData getRentContractStatusInfo(@ModelAttribute WxRentContract wxRentContract) { - logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractStatusInfo"); - wxRentContract.updateTenantInfo(getTenantInfo()); - return new ResultData(Result.SUCCESS, "查询成功", wxRentContractService.getRentContractStatusInfo(wxRentContract)); - } +// @GetMapping("/getRentContractStatusInfo") +// @SystemControllerLog(description = "租赁合同-获取合同状态信息") +// public ResultData getRentContractStatusInfo(@ModelAttribute WxRentContract wxRentContract) { +// logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractStatusInfo"); +// wxRentContract.updateTenantInfo(getTenantInfo()); +// return new ResultData(Result.SUCCESS, "查询成功", wxRentContractService.getRentContractStatusInfo(wxRentContract)); +// } @GetMapping("/endRentContract") @ApiImplicitParams({ diff --git a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql index 20ee18f6c..4c74bc9a5 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql @@ -51,4 +51,15 @@ ALTER TABLE `wx_profit_sharing_receiver` ADD COLUMN `plat` SMALLINT(3) NOT NULL DEFAULT 1 COMMENT '平台 1:微信 2:阿里 3:头条'; +ALTER TABLE wx_rent_contract DROP COLUMN shop_id; + +CREATE TABLE `wx_rent_contract_shop` ( + `id` bigint(20) NOT NULL, + `rent_contract_id` bigint(20) NOT NULL COMMENT '租金合同编码', + `shop_id` bigint(20) NOT NULL COMMENT '店铺编码', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租金合同关联的店铺'; + + +ALTER TABLE `wx_rent_contract` ADD COLUMN `shop_name` VARCHAR(30) COMMENT '店铺名称'; diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java index 0cacef3e2..fc5a0c844 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java @@ -39,22 +39,40 @@ public class ContractSchedule { */ @Scheduled(cron = "0 5 0 * * ?") public void updateContractStatus() { - log.info("合同状态更新开始"); - List wxMalls = wxMallMapper.findList(null); - for (WxMall wxMall : wxMalls) { - TenantEntity tenantEntity = wxMall.getTenantInfo(); - WxRentContract wxRentContract = new WxRentContract(); + //更新合同状态,正常到期 + + //查询计租中的合同,找到商户,然后根据商户,如果商户有到期的(租金、物业)合同,则合同状态更新为到期。 + //如果店铺没有有效合同,则释放店铺,不停用商户 + List wxMalls = wxMallMapper.findList(null); + for (WxMall wxMall : wxMalls) { + TenantEntity tenantEntity = wxMall.getTenantInfo(); + WxRentContract wxRentContract = new WxRentContract(); wxRentContract.updateTenantInfo(tenantEntity); - log.info("租赁合同状态更新开始"); - wxRentContractService.updateStatus(wxRentContract); - log.info("租赁合同状态更新结束"); - - WxPropertyContract wxPropertyContract = new WxPropertyContract(); - wxPropertyContract.updateTenantInfo(tenantEntity); - log.info("物业合同状态更新开始"); - wxPropertyContractService.updateStatus(wxPropertyContract); - log.info("物业合同状态更新结束"); - } + wxRentContractService.outDateContract(wxRentContract); + + + } + + + + + +// log.info("合同状态更新开始"); +// List wxMalls = wxMallMapper.findList(null); +// for (WxMall wxMall : wxMalls) { +// TenantEntity tenantEntity = wxMall.getTenantInfo(); +// WxRentContract wxRentContract = new WxRentContract(); +// wxRentContract.updateTenantInfo(tenantEntity); +// log.info("租赁合同状态更新开始"); +// wxRentContractService.updateStatus(wxRentContract); +// log.info("租赁合同状态更新结束"); +// +// WxPropertyContract wxPropertyContract = new WxPropertyContract(); +// wxPropertyContract.updateTenantInfo(tenantEntity); +// log.info("物业合同状态更新开始"); +// wxPropertyContractService.updateStatus(wxPropertyContract); +// log.info("物业合同状态更新结束"); +// } log.info("合同状态更新结束"); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java index a4fb89a81..a797006a6 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -114,8 +114,8 @@ public class WxRentContract extends TenantEntity { private Integer businessId; @io.swagger.annotations.ApiModelProperty(value = "店铺类型", name = "shopType") private Integer shopType; - @io.swagger.annotations.ApiModelProperty(value = "商铺ID", name = "shopId") - private Long shopId; + @io.swagger.annotations.ApiModelProperty(value = "店铺类型", name = "shopName") + private String shopName; @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updatetime") private Date updatetime; @@ -155,10 +155,10 @@ public class WxRentContract extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "营业额", name = "revenue") private Long revenue; - @io.swagger.annotations.ApiModelProperty(value = "起租开始时间", name = "rentalStartDate") + @io.swagger.annotations.ApiModelProperty(value = "起租开始时间", name = "startDate") private Date startDate; - @io.swagger.annotations.ApiModelProperty(value = "起租结束时间", name = "rentalEndDate") + @io.swagger.annotations.ApiModelProperty(value = "起租结束时间", name = "endDate") private Date endDate; @io.swagger.annotations.ApiModelProperty(value = "审核状态, 0未审核 1审核中 2审核通过 3驳回", name = "applyStatus") @@ -191,6 +191,11 @@ public class WxRentContract extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "物业合同预账单列表", name = "reviewBillPropertyPList") private List reviewBillPropertyPList; + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value = "店铺列表", name = "shopIdList") + private List shopIdList; + + @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "审批说明", name = "remark") private String remark; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java new file mode 100644 index 000000000..01d65a317 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java @@ -0,0 +1,25 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.BaseEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +@TableName(value = "wx_rent_contract_shop") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxRentContractShop extends BaseEntity { + + private static final long serialVersionUID = 6159346068143408562L; + + protected Long id; + + @io.swagger.annotations.ApiModelProperty(value="合同编号",name="rentContractId") + private Long rentContractId; + + @io.swagger.annotations.ApiModelProperty(value="店铺编号",name="shopId") + private Long shopId; + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java index d3bfd8760..0bf63107a 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java @@ -6,6 +6,7 @@ import com.iformall.domain.po.WxBusiness; import com.iformall.domain.po.WxRentContract; import com.iformall.domain.vo.WxRentPropertyContractVo; import org.apache.ibatis.annotations.Param; +import org.junit.jupiter.params.ParameterizedTest; import java.util.Collection; import java.util.List; @@ -18,33 +19,35 @@ public interface WxRentContractMapper extends CommonMapper List findList(WxRentContract wxRentContract); - List> queryRentContractData(WxRentContract wxRentContract); + //List> queryRentContractData(WxRentContract wxRentContract); - int queryRentContractWaitSignStatus(WxRentContract wxRentContract); + //int queryRentContractWaitSignStatus(WxRentContract wxRentContract); - int queryRentContractEndSoonStatus(WxRentContract wxRentContract); + //int queryRentContractEndSoonStatus(WxRentContract wxRentContract); - int queryRentContractPaidStatus(WxRentContract wxRentContract); + //int queryRentContractPaidStatus(WxRentContract wxRentContract); - int queryRentContractEndStatus(WxRentContract wxRentContract); + int queryRentContractCountByStatus(WxRentContract wxRentContract); + + //int queryRentContractEndStatus(WxRentContract wxRentContract); - int updateRentContractEndSoonStatus(WxRentContract wxRentContract); + //int updateRentContractEndSoonStatus(WxRentContract wxRentContract); - int updateRentContractPaidStatus(WxRentContract wxRentContract); + //int updateRentContractPaidStatus(WxRentContract wxRentContract); - int updateRentContractEndStatus(WxRentContract wxRentContract); + //int updateRentContractEndStatus(WxRentContract wxRentContract); - void updateRentWaitSignStatus(WxRentContract wxRentContract); + //void updateRentWaitSignStatus(WxRentContract wxRentContract); - void updateRentInvalidStatus(WxRentContract wxRentContract); + //void updateRentInvalidStatus(WxRentContract wxRentContract); - List getRentContractList(WxRentContract tenantId); + //List getRentContractList(WxRentContract wxRentContract); void updateStatusForUnsign(WxRentContract wxRentContract); void updateApplyStatus(WxRentContract wxRentContract); - List getRentInvalidList(WxRentContract wxRentContract); + //List getRentInvalidList(WxRentContract wxRentContract); void updateStatus(WxRentContract wxRentContract); @@ -52,7 +55,7 @@ public interface WxRentContractMapper extends CommonMapper List getMerchants(WxRentContract wxRentContract); - int selectRentContractCountByShopId(WxRentContract wxRentContract); + int selectRentContractCountByShopId(@Param("tenantId") String tenantId,@Param("parentTenantId") String parentTenantId,@Param("shopId") Long shopId,@Param("id") Long id); void updateInvalidContract(WxRentContract record); @@ -60,20 +63,17 @@ public interface WxRentContractMapper extends CommonMapper List selectRentContractByShopId(WxRentContract record); - List selectRentContractByShopIds(@Param("shopIds") Collection shopIds, - @Param("shopIdsRegexp") String shopIdsRegexp, - @Param("tenantId") String tenantId, - @Param("parentTenantId") String parentTenantId); + //List selectRentContractByShopIds(@Param("shopIds") Collection shopIds,@Param("shopIdsRegexp") String shopIdsRegexp,@Param("tenantId") String tenantId,@Param("parentTenantId") String parentTenantId); int hasContractNumber(WxRentContract wxRentContract); - Integer getShopType(WxRentContract wxRentContract); + //Integer getShopType(WxRentContract wxRentContract); - List listContractVo(WxRentPropertyContractVo record); + //List listContractVo(WxRentPropertyContractVo record); WxRentContract getByBill(WxBillRent billRent); - int selectContractCountByShopId(WxRentContract wxRentContract); + //int selectContractCountByShopId(WxRentContract wxRentContract); int getShopCountMax(); List> queryContractByBus(WxBusiness wxBusiness); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java new file mode 100644 index 000000000..ddd783fdc --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java @@ -0,0 +1,14 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxRentContractShop; +import java.util.List; + +import org.apache.ibatis.annotations.Param; + +public interface WxRentContractShopMapper extends CommonMapper { + + List findList(WxRentContractShop record); + + void deleteShops(@Param("contractId") Long contractId); +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java index 7b647886c..f87a280cd 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentContractService.java @@ -1,5 +1,6 @@ package com.iformall.service; +import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; @@ -24,7 +25,7 @@ public interface WxRentContractService { * @param record * @return */ - Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize); + //Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize); /** * 根据Id获得实体 @@ -55,13 +56,13 @@ public interface WxRentContractService { void download(HttpServletRequest request, HttpServletResponse response); - Object getRentContractStatusInfo(WxRentContract record); + //Object getRentContractStatusInfo(WxRentContract record); ResultData endRentContract(Long id, Integer status); ResultData updateMerchant(WxRentContract wxRentContract); - Object getRentContractList(WxRentContract rentContract, Integer pageNum, Integer pageSize); + PageInfo getRentContractList(WxRentContract rentContract, Integer pageNum, Integer pageSize); void exportContract(HttpServletRequest request, HttpServletResponse response, Long id); @@ -73,31 +74,31 @@ public interface WxRentContractService { void updateApplyStatus(WxRentContract wxRentContract); - List buildRent(WxMerchant wxMerchant, Long userId,WxRentContract rentContract,Integer isPreview,boolean saveDb); + List buildRent(Long userId,WxRentContract rentContract,Integer isPreview,boolean saveDb); - void buildDeposit(WxMerchant wxMerchant, Long userId,Long rentContractId); + void buildDeposit(Long userId,Long rentContractId); Object getMerchants(WxRentContract wxRentContract); - void updateInvalidContract(Long rentContractId); + //void updateInvalidContract(Long rentContractId); ResultData hasRentStatus(WxRentContract wxRentContract); ResultData hasContractNumber(WxRentContract wxRentContract); - Integer getShopType(WxRentContract wxRentContract); + //Integer getShopType(WxRentContract wxRentContract); void endContract(WxRentContract wxRentContract); void updatePropertyPreviewBill(WxRentContract record); - Map updateStatus(WxRentContract record); + //Map updateStatus(WxRentContract record); WxRentContract getByBill(WxBillRent billRent); - Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp, TenantEntity tenantEntity); + //Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp, TenantEntity tenantEntity); - int selectContractCountByShopId(WxRentContract wxRentContract); + //int selectContractCountByShopId(WxRentContract wxRentContract); ResultData getContractByContractNumber(WxRentContract wxRentContract); @@ -116,4 +117,11 @@ public interface WxRentContractService { ResultData apply(WxRentContract wxRentContract,MallUserInfo user); boolean hasContract(WxRentContract wxRentContract); + + /** + * 合同正常到期 + * @param wxRentContract + */ + void outDateContract(WxRentContract wxRentContract); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java index 2cb1f12c5..ce8b484cb 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java @@ -10,7 +10,7 @@ import com.iformall.domain.vo.WxRentPropertyContractVo; */ public interface WxRentPropertyContractService { - PageInfo listContractVo(WxRentPropertyContractVo wxRentPropertyContractVo, Integer pageNum, Integer pageSize); + //PageInfo listContractVo(WxRentPropertyContractVo wxRentPropertyContractVo, Integer pageNum, Integer pageSize); ResultData getContractInfo(Long id); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java index ce0f6b55c..25380fa61 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -297,7 +297,7 @@ public class DataTowerServiceImpl implements DataTowerService { //计租中 wxRentContract.setStatus(EnumRentContractStatus.PAING.getCode()); - int rendPaidCount = wxRentContractMapper.queryRentContractPaidStatus(wxRentContract); + int rendPaidCount = wxRentContractMapper.queryRentContractCountByStatus(wxRentContract); contractMap.put("rendPaidCount", rendPaidCount); //将到期 @@ -308,7 +308,7 @@ public class DataTowerServiceImpl implements DataTowerService { //到期 wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode()); - int endCount = wxRentContractMapper.queryRentContractEndStatus(wxRentContract); + int endCount = wxRentContractMapper.queryRentContractCountByStatus(wxRentContract); contractMap.put("endCount", endCount); return contractMap; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 255144cab..587855a21 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -203,7 +203,6 @@ public class WxFlowServiceImpl implements WxFlowService { //如果审批完成 }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { wxRentContractService.updateRentContractStatus(businessId); - return; } wxRentContractService.updateApplyStatus(rent); @@ -219,9 +218,7 @@ public class WxFlowServiceImpl implements WxFlowService { // 审批完成 }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { wxPropertyContractService.updatePropertyContractStatus(businessId); - return; } - wxPropertyContractMapper.updateApplyStatus(wxPropertyContract); } 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 c1296fad6..50d0216c3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -383,39 +383,39 @@ public class WxMerchantServiceImpl implements WxMerchantService { wxMerchantMapper.insert(wxMerchant); //关联合同 - if (wxMerchant.getRentContractId() != null) { - WxRentContract wxRentContract = wxRentContractMapper.selectById(wxMerchant.getRentContractId()); - if (wxRentContract == null) { - return new ResultData(ErrorCode.RENT_CONTRACT_IS_NOT_FOUND); - } - if (wxRentContract.getStatus().equals(EnumRentContractStatus.TERMINATE)) { - return new ResultData(ErrorCode.RENT_CONTRACT_IS_TERMINATED); - } - wxRentContract.setMerchantId(merchantId); - wxRentContract.setUpdatetime(new Date()); - if (wxRentContract.getRentalStartDate().before(new Date())) { - wxRentContract.setStatus(EnumRentContractStatus.PAING.getCode()); - } else { - wxRentContract.setStatus(EnumRentContractStatus.READY_FOR_PAING.getCode()); - } - wxRentContractMapper.updateById(wxRentContract); - - EventUtil.publistRentEvent(wxRentContractService,wxRentContract); - //预览账单改为正式,并写入商户id(租赁合同需要绑定商户才变成已签约) - WxBillRent billRent = new WxBillRent(); - billRent.setRentContractId(wxMerchant.getRentContractId()); - billRent.setIsPreview(EnumIsPreview.NO.getCode()); - billRent.setMerchantId(merchantId); - wxBillRentMapper.updatePreviewStatus(billRent); - //创建押金 - wxRentContractService.buildDeposit(wxMerchant, userId,wxMerchant.getRentContractId()); - //作废合同 - wxRentContractService.updateInvalidContract(wxMerchant.getRentContractId()); - //合并合同-更新物业账单 - if (wxRentContract.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())) { - wxRentContractService.updatePropertyPreviewBill(wxRentContract); - } - } +// if (wxMerchant.getRentContractId() != null) { +// WxRentContract wxRentContract = wxRentContractMapper.selectById(wxMerchant.getRentContractId()); +// if (wxRentContract == null) { +// return new ResultData(ErrorCode.RENT_CONTRACT_IS_NOT_FOUND); +// } +// if (wxRentContract.getStatus().equals(EnumRentContractStatus.TERMINATE)) { +// return new ResultData(ErrorCode.RENT_CONTRACT_IS_TERMINATED); +// } +// wxRentContract.setMerchantId(merchantId); +// wxRentContract.setUpdatetime(new Date()); +// if (wxRentContract.getRentalStartDate().before(new Date())) { +// wxRentContract.setStatus(EnumRentContractStatus.PAING.getCode()); +// } else { +// wxRentContract.setStatus(EnumRentContractStatus.READY_FOR_PAING.getCode()); +// } +// wxRentContractMapper.updateById(wxRentContract); +// +// EventUtil.publistRentEvent(wxRentContractService,wxRentContract); +// //预览账单改为正式,并写入商户id(租赁合同需要绑定商户才变成已签约) +// WxBillRent billRent = new WxBillRent(); +// billRent.setRentContractId(wxMerchant.getRentContractId()); +// billRent.setIsPreview(EnumIsPreview.NO.getCode()); +// billRent.setMerchantId(merchantId); +// wxBillRentMapper.updatePreviewStatus(billRent); +// //创建押金 +// wxRentContractService.buildDeposit(wxMerchant, userId,wxMerchant.getRentContractId()); +// //作废合同 +// wxRentContractService.updateInvalidContract(wxMerchant.getRentContractId()); +// //合并合同-更新物业账单 +// if (wxRentContract.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())) { +// wxRentContractService.updatePropertyPreviewBill(wxRentContract); +// } +// } return new ResultData(Result.SUCCESS, "商户创建成功", merchantId); } catch (Exception e) { e.printStackTrace(); 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 608a75e48..8a72d139d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -113,18 +113,22 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Autowired WxPayAccountBillService wxPayAccountBillService; - - @Override - public Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) { - //Object rentContractStatusInfo = getRentContractStatusInfo(record); - PageHelper.startPage(pageIndex, pageSize); - List> rentContractData = wxRentContractMapper.queryRentContractData(record); - PageInfo> pageInfo = new PageInfo<>(rentContractData); - Map result = new HashMap<>(); - //result.put("rentContractStatusInfo", rentContractStatusInfo); - result.put("pageInfo", pageInfo); - return result; - } + + @Autowired + WxRentContractShopMapper wxRentContractShopMapper; + +// @Override +// public Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) { +// //Object rentContractStatusInfo = getRentContractStatusInfo(record); +// PageHelper.startPage(pageIndex, pageSize); +// //List> rentContractData = wxRentContractMapper.queryRentContractData(record); +// //PageInfo> pageInfo = new PageInfo<>(rentContractData); +// //Map result = new HashMap<>(); +// //result.put("rentContractStatusInfo", rentContractStatusInfo); +// result.put("pageInfo", pageInfo); +// this. +// return result; +// } @Override public Map getById(Long id) { @@ -157,7 +161,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { for (int i = 0; i < size; i++) { JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); Double rentPrice = rentInfoObject.getDouble("rentPrice"); - wxRentContract.setShopId(rentInfoObject.getLong("shopId")); + //wxRentContract.setShopId(rentInfoObject.getLong("shopId")); Long price = wxRentContract.getPrice()/100; if(rentPrice == null){ if(StringUtils.isNotBlank(wxRentContract.getRentArea()) && !"0".equals(wxRentContract.getRentArea()) && !"0.00".equals(wxRentContract.getRentArea()) && !"0.0".equals(wxRentContract.getRentArea()) ) { @@ -434,63 +438,46 @@ public class WxRentContractServiceImpl implements WxRentContractService { record.setUpdatetime(date); List shopList = Lists.newArrayList(); - if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { - String rentInfo = record.getRentInfo(); - JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); - int size = rentInfoArray.size(); - if (size == 0) { - return new ResultData(ErrorCode.SHOP_NOT_SELECTED); + 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.updateTenantInfo(record); + Long shopId = rentInfoObject.getLong("shopId"); + //wxRentContract.setShopId(shopId); + int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContract); + String shopNumber = rentInfoObject.getString("shopNumber"); + if (count > 0) { + return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + shopNumber + " 已出租"); } - //查询rent_info 包括 shopId - for (int i = 0; i < size; i++) { - JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.updateTenantInfo(record); - Long shopId = rentInfoObject.getLong("shopId"); - wxRentContract.setShopId(shopId); - int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContract); - String shopNumber = rentInfoObject.getString("shopNumber"); - if (count > 0) { + if (record.getMerchantId() != null) { + WxMerchantShop wxMerchantShop = new WxMerchantShop(); + wxMerchantShop.setShopId(shopId); + wxMerchantShop.setIsDel(EnumDelStatus.NOT_DEL.getCode()); + List wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShop); + long total = wxMerchantShopList.parallelStream(). + filter(ms -> !ms.getMerchantId().equals(record.getMerchantId())).count(); + if (total > 0) { return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + shopNumber + " 已出租"); } - if (record.getMerchantId() != null) { - WxMerchantShop wxMerchantShop = new WxMerchantShop(); - wxMerchantShop.setShopId(shopId); - wxMerchantShop.setIsDel(EnumDelStatus.NOT_DEL.getCode()); - List wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShop); - long total = wxMerchantShopList.parallelStream(). - filter(ms -> !ms.getMerchantId().equals(record.getMerchantId())).count(); - if (total > 0) { - return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + shopNumber + " 已出租"); - } - } else { - WxShop wxShop = wxShopMapper.selectById(shopId); - if (wxShop == null) { - return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); - } - if (wxShop.getStatus().equals(EnumShopStatus.RENT.getCode())) { - return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + wxShop.getShopNumber() + " 已出租"); - } + } else { + WxShop wxShop = wxShopMapper.selectById(shopId); + if (wxShop == null) { + return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 不存在"); + } + if (wxShop.getStatus().equals(EnumShopStatus.RENT.getCode())) { + return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + wxShop.getShopNumber() + " 已出租"); } - shopList.add(shopId); } - } else { - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.updateTenantInfo(record); - wxRentContract.setShopId(record.getShopId()); -// long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). -// filter(rc -> rc.get("status").equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) -// || rc.get("status").equals(EnumRentContractStatus.PAING.getCode()) -// || rc.get("status").equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); - - long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). - filter(rc -> rc.get("status").equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) - || rc.get("status").equals(EnumRentContractStatus.PAING.getCode())).count(); - - if (count > 0) { - return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); + if (!shopList.contains(shopId)) { + shopList.add(shopId); } - shopList.add(record.getShopId()); } try { @@ -499,21 +486,32 @@ public class WxRentContractServiceImpl implements WxRentContractService { Date tempDate = record.getRentalStartDate(); record.setRentalStartDate(oldRentStartDate); wxRentContractMapper.insert(record); + wxRentContractShopMapper.deleteShops(record.getId()); + record.setShopIdList(shopList); + for (Long shopId: shopList) { + WxRentContractShop rentShop = new WxRentContractShop(); + rentShop.setShopId(shopId); + rentShop.setRentContractId(record.getId()); + wxRentContractShopMapper.insert(rentShop); + } + record.setRentalStartDate(tempDate); } catch (Exception e) { logger.error("保存租赁合同信息失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); } - //生成预览账单(补录第二步,第三步走编辑) - if (record.getReceivePeriod() != null && record.getLease() != null && record.getPrice() != null - && !record.getReceivePeriod().equals(0) && !record.getLease().equals(0) && !record.getPrice().equals(0l)) { - wxBillRentMapper.deletePreviewBill(record); - //重新生成 - List resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode(),true); - record.setPreviewBillRentList(resultList); - } - +// //生成预览账单(补录第二步,第三步走编辑) +// if (record.getReceivePeriod() != null && record.getLease() != null && record.getPrice() != null +// && !record.getReceivePeriod().equals(0) && !record.getLease().equals(0) && !record.getPrice().equals(0l)) { +// wxBillRentMapper.deletePreviewBill(record); +// //重新生成 +// List resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode(),true); +// record.setPreviewBillRentList(resultList); +// } + //创建预览账单 + List resultList = buildRent(null, record, EnumIsPreview.YES.getCode(),true); + record.setPreviewBillRentList(resultList); EventUtil.publistRentEvent(this, record); return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", record); @@ -564,7 +562,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { && !record.getReceivePeriod().equals(0) && !record.getLease().equals(0)) { //删除预账单,重新生成 wxBillRentMapper.deletePreviewBill(record); - resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode(),true); + resultList = buildRent(null, record, EnumIsPreview.YES.getCode(),true); } } @@ -662,8 +660,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { } record.setUpdatetime(new Date()); - - if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { +// if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { String rentInfo = record.getRentInfo(); JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); int size = rentInfoArray.size(); @@ -680,9 +677,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (shopId == null) { return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); } - wxRentContractQuery.setShopId(shopId); wxRentContractQuery.setId(record.getId()); - int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContractQuery); + int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContractQuery.getTenantId(),wxRentContractQuery.getParentTenantId(),shopId,wxRentContractQuery.getId()); if (count > 0) { return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + shopNumber + " 已出租"); } @@ -706,21 +702,21 @@ public class WxRentContractServiceImpl implements WxRentContractService { } } } - } else { - WxRentContract wxRentContractQuery = new WxRentContract(); - wxRentContractQuery.updateTenantInfo(record); - wxRentContractQuery.setShopId(record.getShopId()); -// long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). -// filter(rc -> rc.get("status").equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) -// || rc.get("status").equals(EnumRentContractStatus.PAING.getCode()) -// || rc.get("status").equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); - long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). - filter(rc -> rc.get("status").equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) - || rc.get("status").equals(EnumRentContractStatus.PAING.getCode())).count(); - if (count > 0) { - return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); - } - } +// } else { +// WxRentContract wxRentContractQuery = new WxRentContract(); +// wxRentContractQuery.updateTenantInfo(record); +// wxRentContractQuery.setShopId(record.getShopId()); +//// long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). +//// filter(rc -> rc.get("status").equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) +//// || rc.get("status").equals(EnumRentContractStatus.PAING.getCode()) +//// || rc.get("status").equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); +// long count = wxRentContractMapper.queryRentContractData(wxRentContract).stream(). +// filter(rc -> rc.get("status").equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) +// || rc.get("status").equals(EnumRentContractStatus.PAING.getCode())).count(); +// if (count > 0) { +// return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); +// } +// } try { Date tempDate = record.getRentalStartDate(); @@ -737,7 +733,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Transactional(rollbackFor = {Exception.class}) @Override - public void buildDeposit(WxMerchant wxMerchant, Long userId,Long rentContractId) { + public void buildDeposit( Long userId,Long rentContractId) { WxRentContract wxRentContract = wxRentContractMapper.selectById(rentContractId); if (wxRentContract != null && wxRentContract.getDeposit() > 0) { final IdWorker idWorker = IdWorker.get(); @@ -772,9 +768,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxBillDeposit.setStatus(EnumBillRentStatus.WAIT_PAY.getCode()); wxBillDeposit.setExpiredDay(0L); wxBillDeposit.setReceiveDate(time); - wxBillDeposit.updateTenantInfo(wxMerchant); + wxBillDeposit.updateTenantInfo(wxRentContract); wxBillDeposit.setIsDel(0); - wxBillDeposit.setMerchantId(wxMerchant.getId()); + wxBillDeposit.setMerchantId(wxRentContract.getMerchantId()); wxBillDeposit.setUserId(userId); wxBillDeposit.setShopId(wxRentContract.getShopId()); wxBillDeposit.setCreatetime(date); @@ -808,38 +804,38 @@ public class WxRentContractServiceImpl implements WxRentContractService { return rentContractList; } - @Override - public void updateInvalidContract(Long rentContractId) { - WxRentContract wxRentContract = wxRentContractMapper.selectById(rentContractId); - if (wxRentContract.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { - String rentInfo = wxRentContract.getRentInfo(); - JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); - WxRentContract record = new WxRentContract(); - for (int i = 0, size = rentInfoArray.size(); i < size; i++) { - JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); - Long shopId = rentInfoObject.getLong("shopId"); - record.setShopId(shopId); - record.updateTenantInfo(wxRentContract); - record.setStatus(EnumRentContractStatus.INVALID.getCode()); - wxRentContractMapper.updateInvalidContract(record); - List rentContractList = wxRentContractMapper.selectRentContractByShopId(record); - for (WxRentContract updateContract : rentContractList) { - updateInvalidStatus(updateContract); - } - } - } else { - WxRentContract record = new WxRentContract(); - record.updateTenantInfo(wxRentContract); - record.setRentShopType(wxRentContract.getRentShopType()); - record.setStatus(EnumRentContractStatus.INVALID.getCode()); - wxRentContractMapper.updateRentInvalidStatus(record); - List rentContractList = wxRentContractMapper.selectList(new QueryWrapper(record)); - for (WxRentContract updateContract : rentContractList) { - updateInvalidStatus(updateContract); - } - } - - } +// @Override +// public void updateInvalidContract(Long rentContractId) { +// WxRentContract wxRentContract = wxRentContractMapper.selectById(rentContractId); +// if (wxRentContract.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { +// String rentInfo = wxRentContract.getRentInfo(); +// JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); +// WxRentContract record = new WxRentContract(); +// for (int i = 0, size = rentInfoArray.size(); i < size; i++) { +// JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); +// Long shopId = rentInfoObject.getLong("shopId"); +// record.setShopId(shopId); +// record.updateTenantInfo(wxRentContract); +// record.setStatus(EnumRentContractStatus.INVALID.getCode()); +// wxRentContractMapper.updateInvalidContract(record); +// List rentContractList = wxRentContractMapper.selectRentContractByShopId(record); +// for (WxRentContract updateContract : rentContractList) { +// updateInvalidStatus(updateContract); +// } +// } +// } else { +// WxRentContract record = new WxRentContract(); +// record.updateTenantInfo(wxRentContract); +// record.setRentShopType(wxRentContract.getRentShopType()); +// record.setStatus(EnumRentContractStatus.INVALID.getCode()); +// wxRentContractMapper.updateRentInvalidStatus(record); +// List rentContractList = wxRentContractMapper.selectList(new QueryWrapper(record)); +// for (WxRentContract updateContract : rentContractList) { +// updateInvalidStatus(updateContract); +// } +// } +// +// } @Override public ResultData hasRentStatus(WxRentContract record) { @@ -948,24 +944,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Override @Transactional(rollbackFor = {Exception.class}) - public List buildRent(WxMerchant wxMerchant, Long userId,WxRentContract rentContract,Integer isPreview,boolean saveDb) { + public List buildRent( Long userId,WxRentContract wxRentContract,Integer isPreview,boolean saveDb) { List rentList = new ArrayList<>(); - //根据商户ID找出合同 - WxRentContract wxRentContract; - if(rentContract == null){ - wxRentContract = new WxRentContract(); - wxRentContract.setMerchantId(wxMerchant.getId()); - List list = wxRentContractMapper.findList(wxRentContract); - if (list.size() > 0) { - wxRentContract = list.get(0); - } - }else{ - wxRentContract = rentContract; - } if (wxRentContract != null) { int receivePeriod = wxRentContract.getReceivePeriod().intValue(); Integer lease = wxRentContract.getLease(); - Date rentalStartDate = wxRentContract.getRentalStartDate(); Long price = wxRentContract.getPrice(); @@ -977,7 +960,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { // //如果按日 // List yearList = new ArrayList<>(); // yearList.add(rentalStartDate); -// Map resultMap = buildRent(receivePeriod, new long[]{price}, yearList, Calendar.DAY_OF_MONTH, wxRentContract, userId, wxMerchant, 0, isPreview,null); +// Map resultMap = buildRent(receivePeriod, new long[]{price}, yearList, Calendar.DAY_OF_MONTH, wxRentContract, userId, 0, isPreview,null,saveDb); // rentList = ( List)resultMap.get("billList"); // } } @@ -1278,7 +1261,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxBillRent.setIsDel(0); wxBillRent.setMerchantId(wxRentContract.getMerchantId()); wxBillRent.setUserId(userId); - wxBillRent.setShopId(wxRentContract.getShopId()); + if (null != wxRentContract.getShopIdList() && wxRentContract.getShopIdList().size() == 1) { + wxBillRent.setShopId(wxRentContract.getShopIdList().get(0)); + } wxBillRent.setCreatetime(date); wxBillRent.setUpdatetime(date); wxBillRent.setIsDel(EnumDelStatus.NOT_DEL.getCode()); @@ -1451,32 +1436,32 @@ public class WxRentContractServiceImpl implements WxRentContractService { } } - @Transactional(rollbackFor = {Exception.class}) - @Override - public Object getRentContractStatusInfo(WxRentContract rentContract) { - - Map resultData = new HashMap(); - //商铺信息 - WxShop wxShop = new WxShop(); - wxShop.updateTenantInfo(rentContract); - wxShop.setType(rentContract.getRentShopType()); - wxShop.setStatus(EnumShopStatus.RENT.getCode()); - List rentedList = wxShopMapper.findList(wxShop); - wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode()); - List unrentedList = wxShopMapper.findList(wxShop); - - HashMap shopMap = new HashMap<>(3); - int rentedCount = rentedList.size(); - int unrentedCount = unrentedList.size(); - shopMap.put("rentedCount", rentedCount); - shopMap.put("unrentedCount", unrentedCount); - shopMap.put("allCount", rentedCount + unrentedCount); - resultData.put("shopCountInfo", shopMap); - - //需要更新的状态 - resultData.putAll(updateStatus(rentContract)); - return resultData; - } +// @Transactional(rollbackFor = {Exception.class}) +// @Override +// public Object getRentContractStatusInfo(WxRentContract rentContract) { +// +// Map resultData = new HashMap(); +// //商铺信息 +// WxShop wxShop = new WxShop(); +// wxShop.updateTenantInfo(rentContract); +// wxShop.setType(rentContract.getRentShopType()); +// wxShop.setStatus(EnumShopStatus.RENT.getCode()); +// List rentedList = wxShopMapper.findList(wxShop); +// wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode()); +// List unrentedList = wxShopMapper.findList(wxShop); +// +// HashMap shopMap = new HashMap<>(3); +// int rentedCount = rentedList.size(); +// int unrentedCount = unrentedList.size(); +// shopMap.put("rentedCount", rentedCount); +// shopMap.put("unrentedCount", unrentedCount); +// shopMap.put("allCount", rentedCount + unrentedCount); +// resultData.put("shopCountInfo", shopMap); +// +// //需要更新的状态 +// resultData.putAll(updateStatus(rentContract)); +// return resultData; +// } @Transactional(rollbackFor = {Exception.class}) @Override @@ -1535,69 +1520,51 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Override public PageInfo getRentContractList(WxRentContract rentContract, Integer pageIndex, Integer pageSize) { - PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.getRentContractList(rentContract)); + //PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.getRentContractList(rentContract)); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.findList(rentContract)); return pageInfo; } - @Override - public Map updateStatus(WxRentContract record) { - Map resultData = new HashMap(); - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.updateTenantInfo(record); - wxRentContract.setRentShopType(record.getRentShopType()); - - int allCount = wxRentContractMapper.selectCount(new QueryWrapper(wxRentContract)); - resultData.put("allCount", allCount); - - //待签约 - //wxRentContract.setStatus(EnumRentContractStatus.WAIT_SIGN.getCode()); - //int waitSignCount = wxRentContractMapper.queryRentContractWaitSignStatus(wxRentContract); - //resultData.put("waitSignCount", waitSignCount); - resultData.put("waitSignCount", 0); - - //计租中 - wxRentContract.setStatus(EnumRentContractStatus.PAING.getCode()); - wxRentContractMapper.updateRentContractPaidStatus(wxRentContract); - int rendPaidCount = wxRentContractMapper.queryRentContractPaidStatus(wxRentContract); - resultData.put("rendPaidCount", rendPaidCount); - - //将到期 - //wxRentContract.setStatus(EnumRentContractStatus.CONTRACT_END_SOON.getCode()); - //wxRentContractMapper.updateRentContractEndSoonStatus(wxRentContract); - //int endSoonCount = wxRentContractMapper.queryRentContractEndSoonStatus(wxRentContract); - //resultData.put("endSoonCount", endSoonCount); - resultData.put("endSoonCount", 0); - - //到期 - wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode()); - wxRentContractMapper.updateRentContractEndStatus(wxRentContract); - int endCount = wxRentContractMapper.queryRentContractEndStatus(wxRentContract); - resultData.put("endCount", endCount); - - //合同到期 - contractEnd(record.getTenantId()); - - return resultData; - } - - private void contractEnd(String tenantId) { - //查询状态为合同正常到期的数据 - WxRentContract wxRentContract = new WxRentContract(); - wxRentContract.setTenantId(tenantId); - wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode()); - List> rentContractData = wxRentContractMapper.queryRentContractData(wxRentContract); - for (int i = 0, size = rentContractData.size(); i < size; i++) { - Map contract = rentContractData.get(i); - Object merchantId = contract.get("merchantId"); - if (merchantId != null) { - WxMerchant merchant = wxMerchantMapper.selectById((Long) merchantId); - Integer status = merchant.getStatus(); - if (status.equals(EnumMerchantStatus.VALID.getCode())) { - wxMerchantService.disableMerchat((Long) merchantId); - } - } - } - } +// @Override +// public Map updateStatus(WxRentContract record) { +// Map resultData = new HashMap(); +// WxRentContract wxRentContract = new WxRentContract(); +// wxRentContract.updateTenantInfo(record); +// wxRentContract.setRentShopType(record.getRentShopType()); +// +// int allCount = wxRentContractMapper.selectCount(new QueryWrapper(wxRentContract)); +// resultData.put("allCount", allCount); +// +// //待签约 +// //wxRentContract.setStatus(EnumRentContractStatus.WAIT_SIGN.getCode()); +// //int waitSignCount = wxRentContractMapper.queryRentContractWaitSignStatus(wxRentContract); +// //resultData.put("waitSignCount", waitSignCount); +// resultData.put("waitSignCount", 0); +// +// //计租中 +// wxRentContract.setStatus(EnumRentContractStatus.PAING.getCode()); +// wxRentContractMapper.updateRentContractPaidStatus(wxRentContract); +// int rendPaidCount = wxRentContractMapper.queryRentContractPaidStatus(wxRentContract); +// resultData.put("rendPaidCount", rendPaidCount); +// +// //将到期 +// //wxRentContract.setStatus(EnumRentContractStatus.CONTRACT_END_SOON.getCode()); +// //wxRentContractMapper.updateRentContractEndSoonStatus(wxRentContract); +// //int endSoonCount = wxRentContractMapper.queryRentContractEndSoonStatus(wxRentContract); +// //resultData.put("endSoonCount", endSoonCount); +// resultData.put("endSoonCount", 0); +// +// //到期 +// wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode()); +// wxRentContractMapper.updateRentContractEndStatus(wxRentContract); +// int endCount = wxRentContractMapper.queryRentContractEndStatus(wxRentContract); +// resultData.put("endCount", endCount); +// +// //合同到期 +// contractEnd(record.getTenantId()); +// +// return resultData; +// } @Override public void exportContract(HttpServletRequest request, HttpServletResponse response, Long id) { @@ -1670,16 +1637,16 @@ public class WxRentContractServiceImpl implements WxRentContractService { billRent.setIsPreview(EnumIsPreview.NO.getCode()); billRent.setMerchantId(record.getMerchantId()); wxBillRentMapper.updatePreviewStatus(billRent); - WxMerchant wxMerchant = new WxMerchant(); - wxMerchant.setId(record.getMerchantId()); - wxMerchant.updateTenantInfo(record); +// WxMerchant wxMerchant = new WxMerchant(); +// wxMerchant.setId(record.getMerchantId()); +// wxMerchant.updateTenantInfo(record); if(record.getDeposit() > 0) { //押金 - buildDeposit(wxMerchant, null, id); + buildDeposit( null, id); } updatePropertyPreviewBill(record); //作废合同 - updateInvalidContract(id); + //updateInvalidContract(id); } return new ResultData(Result.SUCCESS, "操作成功"); @@ -2200,10 +2167,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { wxRentContractMapper.updateApplyStatus(wxRentContract); } - @Override - public Integer getShopType(WxRentContract wxRentContract) { - return wxRentContractMapper.getShopType(wxRentContract); - } +// @Override +// public Integer getShopType(WxRentContract wxRentContract) { +// return wxRentContractMapper.getShopType(wxRentContract); +// } public static double getMonthNeedPay(Double price,Date start,Date end,int dayType,int receivePeriod,boolean part){ SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); @@ -2433,42 +2400,42 @@ public class WxRentContractServiceImpl implements WxRentContractService { return wxRentContractMapper.getByBill(billRent); } - @Override - public Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp, TenantEntity tenantEntity) { - List list = wxRentContractMapper.selectRentContractByShopIds(shopIds, shopIdsRegexp, tenantEntity.getTenantId(), tenantEntity.getParentTenantId()); - List shopIdArr = Arrays.asList(StringUtils.split(shopIdsRegexp,"|")) ; - Map allShopContract = new HashMap<>(); - for (WxRentContract wxRentContract : list) { - if (wxRentContract.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { - String rentInfo = wxRentContract.getRentInfo(); - JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); - int size = rentInfoArray.size(); - //查询rent_info 包括 shopId - for (int i = 0; i < size; i++) { - JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); - Long shopId = rentInfoObject.getLong("shopId"); - if (!shopIdArr.contains(String.valueOf(shopId))) { - continue; - } - WxRentContract rentContract = new WxRentContract(); - BeanUtils.copyProperties(wxRentContract,rentContract); - rentContract.setRentalStartDate(wxRentContract.getRentalStartDate()); - rentContract.setRentalEndDate(wxRentContract.getRentalEndDate()); - rentContract.setShopId(shopId); - allShopContract.put(shopId, rentContract); - } - } - if (shopIds.contains(wxRentContract.getShopId())) { - allShopContract.put(wxRentContract.getShopId(), wxRentContract); - } - } - return allShopContract; - } +// @Override +// public Map selectRentContractByShopIds(Collection shopIds, String shopIdsRegexp, TenantEntity tenantEntity) { +// List list = wxRentContractMapper.selectRentContractByShopIds(shopIds, shopIdsRegexp, tenantEntity.getTenantId(), tenantEntity.getParentTenantId()); +// List shopIdArr = Arrays.asList(StringUtils.split(shopIdsRegexp,"|")) ; +// Map allShopContract = new HashMap<>(); +// for (WxRentContract wxRentContract : list) { +// if (wxRentContract.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { +// String rentInfo = wxRentContract.getRentInfo(); +// JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); +// int size = rentInfoArray.size(); +// //查询rent_info 包括 shopId +// for (int i = 0; i < size; i++) { +// JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); +// Long shopId = rentInfoObject.getLong("shopId"); +// if (!shopIdArr.contains(String.valueOf(shopId))) { +// continue; +// } +// WxRentContract rentContract = new WxRentContract(); +// BeanUtils.copyProperties(wxRentContract,rentContract); +// rentContract.setRentalStartDate(wxRentContract.getRentalStartDate()); +// rentContract.setRentalEndDate(wxRentContract.getRentalEndDate()); +// rentContract.setShopId(shopId); +// allShopContract.put(shopId, rentContract); +// } +// } +// if (shopIds.contains(wxRentContract.getShopId())) { +// allShopContract.put(wxRentContract.getShopId(), wxRentContract); +// } +// } +// return allShopContract; +// } - @Override - public int selectContractCountByShopId(WxRentContract wxRentContract) { - return wxRentContractMapper.selectContractCountByShopId(wxRentContract) ; - } +// @Override +// public int selectContractCountByShopId(WxRentContract wxRentContract) { +// return wxRentContractMapper.selectContractCountByShopId(wxRentContract) ; +// } @Override public ResultData getContractByContractNumber(WxRentContract rentContract) { @@ -2779,4 +2746,35 @@ public class WxRentContractServiceImpl implements WxRentContractService { } return false; } + + @Override + public void outDateContract(WxRentContract wxRentContract) { + //只有计租中的合同状态才能正常到期 + if (wxRentContract.getStatus().intValue()== EnumRentContractStatus.PAING.getCode().intValue()) { + if (wxRentContract.getRentalEndDate().before(new Date())) { + wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode()); + //wxRentContractMapper.updateRentContractEndStatus(wxRentContract); + //TODO 11111111111111111111 + } + } + } + + private void contractEnd(String tenantId) { + //查询状态为合同正常到期的数据 + WxRentContract wxRentContract = new WxRentContract(); + wxRentContract.setTenantId(tenantId); + wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode()); + List> rentContractData = wxRentContractMapper.queryRentContractData(wxRentContract); + for (int i = 0, size = rentContractData.size(); i < size; i++) { + Map contract = rentContractData.get(i); + Object merchantId = contract.get("merchantId"); + if (merchantId != null) { + WxMerchant merchant = wxMerchantMapper.selectById((Long) merchantId); + Integer status = merchant.getStatus(); + if (status.equals(EnumMerchantStatus.VALID.getCode())) { + wxMerchantService.disableMerchat((Long) merchantId); + } + } + } + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java index 87e18b897..4b18edd30 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java @@ -46,10 +46,10 @@ public class WxRentPropertyContractServiceImpl implements WxRentPropertyContract @Autowired WxRentContractService wxRentContractService; - @Override - public PageInfo listContractVo(WxRentPropertyContractVo record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.listContractVo(record)); - } +// @Override +// public PageInfo listContractVo(WxRentPropertyContractVo record, Integer pageIndex, Integer pageSize) { +// return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.listContractVo(record)); +// } @Override public ResultData getContractInfo(Long id) { diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java index fc04998c5..a392e9786 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java @@ -1131,7 +1131,7 @@ public class InvestBizServiceImpl implements InvestBizService { } else { WxRentContract contractQuery = new WxRentContract(); contractQuery.updateTenantInfo(InvestUserContext.getUser()); - contractQuery.setShopId(investTaskEntity.getTargetId()); + //contractQuery.setShopId(investTaskEntity.getTargetId()); //contractQuery.setStatus(EnumRentContractStatus.INTENTION.getCode()); //获取意向合同 //int count = rentContractService.selectContractCountByShopId(contractQuery); diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index 95b705004..41f76ac49 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -21,7 +21,6 @@ - @@ -68,6 +67,7 @@ + @@ -82,9 +82,9 @@ `id`,`merchant_id`,`price`,`rental_start_date`,`rental_end_date`,`sign_date`,`receive_period`, `tenant_id`,`parent_tenant_id`,`filepath`,`status`,`contract_number`,`deposit`,`pay_date`,`is_del`,`merchant_name`, - `brand`,`business_id`,`shop_type`,`shop_id`,`updatetime`,`createtime`,`link_person`,`link_phone`, + `brand`,`business_id`,`shop_type`,`updatetime`,`createtime`,`link_person`,`link_phone`, `pay_account`,`filename`,`lease`,`type`,`revenue`,`adjust_ratio`,`adjust_period`,`pay_ratio`, - `start_date`,`end_date`, + `start_date`,`end_date`,`shop_name`, `apply_status`,`bank_name`,`rent_shop_type`,`fix_start_date`,`fix_end_date`, `business_type`,`rent_info`, `file_names`,price_unit,rent_price,`subject_name`,rent_start_type, `rent_input_way`,`adjust_ratio_way`,`operation_type`,late_pay_ratio,late_pay_day,bus_discount_ratio,bus_discount_time @@ -116,7 +116,6 @@ and `brand` = #{brand} and `business_id` = #{businessId} and `shop_type` = #{shopType} - and `shop_id` = #{shopId} and `updatetime` = #{updatetime} and `createtime` = #{createtime} and `link_person` = #{linkPerson} @@ -146,7 +145,8 @@ - + select count(1) from wx_rent_contract where status=#{status} + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + and rent_shop_type = #{rentShopType} + - + - + - + - + - + - + update wx_rent_contract @@ -327,7 +339,7 @@ update wx_rent_contract set status=#{status} where id=#{id} - + + - + --> - + --> - + select count(1) from wx_rent_contract where 1=1 and `tenant_id` = #{tenantId} @@ -432,7 +438,7 @@ - select * from wx_rent_contract + select from wx_rent_contract where status in(2,3,4) and merchant_id = #{merchantId} - + + - + + select + + from wx_rent_contract_shop + + + + + delete from wx_rent_contract_shop where rent_contract_id = #{contractId} + + +