Browse Source

update

release_toaliyun_real
xiaohanzi 5 years ago
parent
commit
d8cb159886
17 changed files with 590 additions and 466 deletions
  1. +55
    -49
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  2. +11
    -0
      mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql
  3. +33
    -15
      mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java
  4. +9
    -4
      mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java
  5. +25
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java
  6. +20
    -20
      mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java
  7. +14
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java
  8. +18
    -10
      mallinkService/src/main/java/com/iformall/service/WxRentContractService.java
  9. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java
  10. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java
  11. +0
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java
  12. +33
    -33
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  13. +272
    -274
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  14. +4
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java
  15. +1
    -1
      mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java
  16. +58
    -50
      mallinkService/src/main/resources/mapper/WxRentContractMapper.xml
  17. +34
    -0
      mallinkService/src/main/resources/mapper/WxRentContractShopMapper.xml

+ 55
- 49
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java View File

@@ -121,8 +121,8 @@ public class WxRentContractController extends WxContractBaseController {
wxRentContract = new WxRentContract(); wxRentContract = new WxRentContract();
} }
wxRentContract.updateTenantInfo(getTenantInfo()); wxRentContract.updateTenantInfo(getTenantInfo());
Map<String, Object> result = wxRentContractService.listAsPage(wxRentContract, pageNum, pageSize);
return new ResultData(result);
//Map<String, Object> 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())){ if(dbRent.getRentStartType()!=null && dbRent.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){
dbRent.setRentalStartDate(dbRent.getStartDate()); dbRent.setRentalStartDate(dbRent.getStartDate());
} }
List<WxBillRent> result = wxRentContractService.buildRent(new WxMerchant(),getUserId(),dbRent, EnumIsPreview.YES.getCode(), false);
List<WxBillRent> result = wxRentContractService.buildRent(getUserId(),dbRent, EnumIsPreview.YES.getCode(), false);
return new ResultData(result); return new ResultData(result);
} }


@@ -173,6 +173,49 @@ public class WxRentContractController extends WxContractBaseController {
return wxRentContractService.save(wxRentContract, user.getId(),user.getName(),oldDate); 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") @PostMapping("updateRentStartTime")
@SystemControllerLog(description = "租赁合同-更新租赁开始日期") @SystemControllerLog(description = "租赁合同-更新租赁开始日期")
public ResultData updateRentStartTime(@RequestBody WxRentContract wxRentContract) { public ResultData updateRentStartTime(@RequestBody WxRentContract wxRentContract) {
@@ -215,46 +258,9 @@ public class WxRentContractController extends WxContractBaseController {
return update; 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") @GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "String", paramType = "query", required = true) @ApiImplicitParam(name = "id", value = "id", dataType = "String", paramType = "query", required = true)
@@ -288,13 +294,13 @@ public class WxRentContractController extends WxContractBaseController {
wxRentContractService.download(request,response); 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") @GetMapping("/endRentContract")
@ApiImplicitParams({ @ApiImplicitParams({


+ 11
- 0
mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql View File

@@ -51,4 +51,15 @@ ALTER TABLE `wx_profit_sharing_receiver`
ADD COLUMN `plat` SMALLINT(3) NOT NULL DEFAULT 1 COMMENT '平台 1:微信 2:阿里 3:头条'; 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 '店铺名称';



+ 33
- 15
mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java View File

@@ -39,22 +39,40 @@ public class ContractSchedule {
*/ */
@Scheduled(cron = "0 5 0 * * ?") @Scheduled(cron = "0 5 0 * * ?")
public void updateContractStatus() { public void updateContractStatus() {
log.info("合同状态更新开始");
List<WxMall> wxMalls = wxMallMapper.findList(null);
for (WxMall wxMall : wxMalls) {
TenantEntity tenantEntity = wxMall.getTenantInfo();
WxRentContract wxRentContract = new WxRentContract();
//更新合同状态,正常到期
//查询计租中的合同,找到商户,然后根据商户,如果商户有到期的(租金、物业)合同,则合同状态更新为到期。
//如果店铺没有有效合同,则释放店铺,不停用商户
List<WxMall> wxMalls = wxMallMapper.findList(null);
for (WxMall wxMall : wxMalls) {
TenantEntity tenantEntity = wxMall.getTenantInfo();
WxRentContract wxRentContract = new WxRentContract();
wxRentContract.updateTenantInfo(tenantEntity); 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<WxMall> 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("合同状态更新结束"); log.info("合同状态更新结束");
} }




+ 9
- 4
mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java View File

@@ -114,8 +114,8 @@ public class WxRentContract extends TenantEntity {
private Integer businessId; private Integer businessId;
@io.swagger.annotations.ApiModelProperty(value = "店铺类型", name = "shopType") @io.swagger.annotations.ApiModelProperty(value = "店铺类型", name = "shopType")
private Integer 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") @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updatetime")
private Date updatetime; private Date updatetime;


@@ -155,10 +155,10 @@ public class WxRentContract extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "营业额", name = "revenue") @io.swagger.annotations.ApiModelProperty(value = "营业额", name = "revenue")
private Long revenue; private Long revenue;


@io.swagger.annotations.ApiModelProperty(value = "起租开始时间", name = "rentalStartDate")
@io.swagger.annotations.ApiModelProperty(value = "起租开始时间", name = "startDate")
private Date startDate; private Date startDate;


@io.swagger.annotations.ApiModelProperty(value = "起租结束时间", name = "rentalEndDate")
@io.swagger.annotations.ApiModelProperty(value = "起租结束时间", name = "endDate")
private Date endDate; private Date endDate;


@io.swagger.annotations.ApiModelProperty(value = "审核状态, 0未审核 1审核中 2审核通过 3驳回", name = "applyStatus") @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") @io.swagger.annotations.ApiModelProperty(value = "物业合同预账单列表", name = "reviewBillPropertyPList")
private List<WxBillProperty> reviewBillPropertyPList; private List<WxBillProperty> reviewBillPropertyPList;
@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value = "店铺列表", name = "shopIdList")
private List<Long> shopIdList;
@TableField(exist = false) @TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value = "审批说明", name = "remark") @io.swagger.annotations.ApiModelProperty(value = "审批说明", name = "remark")
private String remark; private String remark;


+ 25
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxRentContractShop.java View File

@@ -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;
}

+ 20
- 20
mallinkService/src/main/java/com/iformall/mapper/WxRentContractMapper.java View File

@@ -6,6 +6,7 @@ import com.iformall.domain.po.WxBusiness;
import com.iformall.domain.po.WxRentContract; import com.iformall.domain.po.WxRentContract;
import com.iformall.domain.vo.WxRentPropertyContractVo; import com.iformall.domain.vo.WxRentPropertyContractVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.junit.jupiter.params.ParameterizedTest;


import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@@ -18,33 +19,35 @@ public interface WxRentContractMapper extends CommonMapper<WxRentContract, Long>


List<WxRentContract> findList(WxRentContract wxRentContract); List<WxRentContract> findList(WxRentContract wxRentContract);


List<Map<String,Object>> queryRentContractData(WxRentContract wxRentContract);
//List<Map<String,Object>> 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<WxRentContract> getRentContractList(WxRentContract tenantId);
//List<WxRentContract> getRentContractList(WxRentContract wxRentContract);


void updateStatusForUnsign(WxRentContract wxRentContract); void updateStatusForUnsign(WxRentContract wxRentContract);


void updateApplyStatus(WxRentContract wxRentContract); void updateApplyStatus(WxRentContract wxRentContract);


List<WxRentContract> getRentInvalidList(WxRentContract wxRentContract);
//List<WxRentContract> getRentInvalidList(WxRentContract wxRentContract);


void updateStatus(WxRentContract wxRentContract); void updateStatus(WxRentContract wxRentContract);


@@ -52,7 +55,7 @@ public interface WxRentContractMapper extends CommonMapper<WxRentContract, Long>


List<WxRentContract> getMerchants(WxRentContract wxRentContract); List<WxRentContract> 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); void updateInvalidContract(WxRentContract record);


@@ -60,20 +63,17 @@ public interface WxRentContractMapper extends CommonMapper<WxRentContract, Long>


List<WxRentContract> selectRentContractByShopId(WxRentContract record); List<WxRentContract> selectRentContractByShopId(WxRentContract record);


List<WxRentContract> selectRentContractByShopIds(@Param("shopIds") Collection<Long> shopIds,
@Param("shopIdsRegexp") String shopIdsRegexp,
@Param("tenantId") String tenantId,
@Param("parentTenantId") String parentTenantId);
//List<WxRentContract> selectRentContractByShopIds(@Param("shopIds") Collection<Long> shopIds,@Param("shopIdsRegexp") String shopIdsRegexp,@Param("tenantId") String tenantId,@Param("parentTenantId") String parentTenantId);


int hasContractNumber(WxRentContract wxRentContract); int hasContractNumber(WxRentContract wxRentContract);


Integer getShopType(WxRentContract wxRentContract);
//Integer getShopType(WxRentContract wxRentContract);


List<WxRentPropertyContractVo> listContractVo(WxRentPropertyContractVo record);
//List<WxRentPropertyContractVo> listContractVo(WxRentPropertyContractVo record);


WxRentContract getByBill(WxBillRent billRent); WxRentContract getByBill(WxBillRent billRent);


int selectContractCountByShopId(WxRentContract wxRentContract);
//int selectContractCountByShopId(WxRentContract wxRentContract);
int getShopCountMax(); int getShopCountMax();


List<Map<String,Object>> queryContractByBus(WxBusiness wxBusiness); List<Map<String,Object>> queryContractByBus(WxBusiness wxBusiness);


+ 14
- 0
mallinkService/src/main/java/com/iformall/mapper/WxRentContractShopMapper.java View File

@@ -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<WxRentContractShop, Long> {

List<WxRentContractShop> findList(WxRentContractShop record);
void deleteShops(@Param("contractId") Long contractId);
}

+ 18
- 10
mallinkService/src/main/java/com/iformall/service/WxRentContractService.java View File

@@ -1,5 +1,6 @@
package com.iformall.service; package com.iformall.service;


import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
@@ -24,7 +25,7 @@ public interface WxRentContractService {
* @param record * @param record
* @return * @return
*/ */
Map<String, Object> listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize);
//Map<String, Object> listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize);
/** /**
* 根据Id获得实体 * 根据Id获得实体
@@ -55,13 +56,13 @@ public interface WxRentContractService {


void download(HttpServletRequest request, HttpServletResponse response); void download(HttpServletRequest request, HttpServletResponse response);


Object getRentContractStatusInfo(WxRentContract record);
//Object getRentContractStatusInfo(WxRentContract record);


ResultData endRentContract(Long id, Integer status); ResultData endRentContract(Long id, Integer status);


ResultData updateMerchant(WxRentContract wxRentContract); ResultData updateMerchant(WxRentContract wxRentContract);


Object getRentContractList(WxRentContract rentContract, Integer pageNum, Integer pageSize);
PageInfo<WxRentContract> getRentContractList(WxRentContract rentContract, Integer pageNum, Integer pageSize);


void exportContract(HttpServletRequest request, HttpServletResponse response, Long id); void exportContract(HttpServletRequest request, HttpServletResponse response, Long id);


@@ -73,31 +74,31 @@ public interface WxRentContractService {


void updateApplyStatus(WxRentContract wxRentContract); void updateApplyStatus(WxRentContract wxRentContract);


List<WxBillRent> buildRent(WxMerchant wxMerchant, Long userId,WxRentContract rentContract,Integer isPreview,boolean saveDb);
List<WxBillRent> 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); Object getMerchants(WxRentContract wxRentContract);


void updateInvalidContract(Long rentContractId);
//void updateInvalidContract(Long rentContractId);


ResultData hasRentStatus(WxRentContract wxRentContract); ResultData hasRentStatus(WxRentContract wxRentContract);


ResultData hasContractNumber(WxRentContract wxRentContract); ResultData hasContractNumber(WxRentContract wxRentContract);


Integer getShopType(WxRentContract wxRentContract);
//Integer getShopType(WxRentContract wxRentContract);


void endContract(WxRentContract wxRentContract); void endContract(WxRentContract wxRentContract);


void updatePropertyPreviewBill(WxRentContract record); void updatePropertyPreviewBill(WxRentContract record);


Map<String, Object> updateStatus(WxRentContract record);
//Map<String, Object> updateStatus(WxRentContract record);


WxRentContract getByBill(WxBillRent billRent); WxRentContract getByBill(WxBillRent billRent);


Map<Long,WxRentContract> selectRentContractByShopIds(Collection<Long> shopIds, String shopIdsRegexp, TenantEntity tenantEntity);
//Map<Long,WxRentContract> selectRentContractByShopIds(Collection<Long> shopIds, String shopIdsRegexp, TenantEntity tenantEntity);


int selectContractCountByShopId(WxRentContract wxRentContract);
//int selectContractCountByShopId(WxRentContract wxRentContract);


ResultData getContractByContractNumber(WxRentContract wxRentContract); ResultData getContractByContractNumber(WxRentContract wxRentContract);


@@ -116,4 +117,11 @@ public interface WxRentContractService {
ResultData apply(WxRentContract wxRentContract,MallUserInfo user); ResultData apply(WxRentContract wxRentContract,MallUserInfo user);


boolean hasContract(WxRentContract wxRentContract); boolean hasContract(WxRentContract wxRentContract);
/**
* 合同正常到期
* @param wxRentContract
*/
void outDateContract(WxRentContract wxRentContract);
} }

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxRentPropertyContractService.java View File

@@ -10,7 +10,7 @@ import com.iformall.domain.vo.WxRentPropertyContractVo;
*/ */
public interface WxRentPropertyContractService { public interface WxRentPropertyContractService {


PageInfo<WxRentPropertyContractVo> listContractVo(WxRentPropertyContractVo wxRentPropertyContractVo, Integer pageNum, Integer pageSize);
//PageInfo<WxRentPropertyContractVo> listContractVo(WxRentPropertyContractVo wxRentPropertyContractVo, Integer pageNum, Integer pageSize);


ResultData getContractInfo(Long id); ResultData getContractInfo(Long id);




+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java View File

@@ -297,7 +297,7 @@ public class DataTowerServiceImpl implements DataTowerService {


//计租中 //计租中
wxRentContract.setStatus(EnumRentContractStatus.PAING.getCode()); wxRentContract.setStatus(EnumRentContractStatus.PAING.getCode());
int rendPaidCount = wxRentContractMapper.queryRentContractPaidStatus(wxRentContract);
int rendPaidCount = wxRentContractMapper.queryRentContractCountByStatus(wxRentContract);
contractMap.put("rendPaidCount", rendPaidCount); contractMap.put("rendPaidCount", rendPaidCount);


//将到期 //将到期
@@ -308,7 +308,7 @@ public class DataTowerServiceImpl implements DataTowerService {


//到期 //到期
wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode()); wxRentContract.setStatus(EnumRentContractStatus.OUT_DATE.getCode());
int endCount = wxRentContractMapper.queryRentContractEndStatus(wxRentContract);
int endCount = wxRentContractMapper.queryRentContractCountByStatus(wxRentContract);
contractMap.put("endCount", endCount); contractMap.put("endCount", endCount);


return contractMap; return contractMap;


+ 0
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java View File

@@ -203,7 +203,6 @@ public class WxFlowServiceImpl implements WxFlowService {
//如果审批完成 //如果审批完成
}else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) {
wxRentContractService.updateRentContractStatus(businessId); wxRentContractService.updateRentContractStatus(businessId);
return;
} }
wxRentContractService.updateApplyStatus(rent); wxRentContractService.updateApplyStatus(rent);


@@ -219,9 +218,7 @@ public class WxFlowServiceImpl implements WxFlowService {
// 审批完成 // 审批完成
}else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) {
wxPropertyContractService.updatePropertyContractStatus(businessId); wxPropertyContractService.updatePropertyContractStatus(businessId);
return;
} }
wxPropertyContractMapper.updateApplyStatus(wxPropertyContract); wxPropertyContractMapper.updateApplyStatus(wxPropertyContract);
} }


+ 33
- 33
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java View File

@@ -383,39 +383,39 @@ public class WxMerchantServiceImpl implements WxMerchantService {
wxMerchantMapper.insert(wxMerchant); 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); return new ResultData(Result.SUCCESS, "商户创建成功", merchantId);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();


+ 272
- 274
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java View File

@@ -113,18 +113,22 @@ public class WxRentContractServiceImpl implements WxRentContractService {


@Autowired @Autowired
WxPayAccountBillService wxPayAccountBillService; WxPayAccountBillService wxPayAccountBillService;

@Override
public Map<String, Object> listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) {
//Object rentContractStatusInfo = getRentContractStatusInfo(record);
PageHelper.startPage(pageIndex, pageSize);
List<Map<String, Object>> rentContractData = wxRentContractMapper.queryRentContractData(record);
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(rentContractData);
Map<String, Object> result = new HashMap<>();
//result.put("rentContractStatusInfo", rentContractStatusInfo);
result.put("pageInfo", pageInfo);
return result;
}
@Autowired
WxRentContractShopMapper wxRentContractShopMapper;

// @Override
// public Map<String, Object> listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) {
// //Object rentContractStatusInfo = getRentContractStatusInfo(record);
// PageHelper.startPage(pageIndex, pageSize);
// //List<Map<String, Object>> rentContractData = wxRentContractMapper.queryRentContractData(record);
// //PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(rentContractData);
// //Map<String, Object> result = new HashMap<>();
// //result.put("rentContractStatusInfo", rentContractStatusInfo);
// result.put("pageInfo", pageInfo);
// this.
// return result;
// }


@Override @Override
public Map<String, Object> getById(Long id) { public Map<String, Object> getById(Long id) {
@@ -157,7 +161,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); JSONObject rentInfoObject = rentInfoArray.getJSONObject(i);
Double rentPrice = rentInfoObject.getDouble("rentPrice"); Double rentPrice = rentInfoObject.getDouble("rentPrice");
wxRentContract.setShopId(rentInfoObject.getLong("shopId"));
//wxRentContract.setShopId(rentInfoObject.getLong("shopId"));
Long price = wxRentContract.getPrice()/100; Long price = wxRentContract.getPrice()/100;
if(rentPrice == null){ if(rentPrice == null){
if(StringUtils.isNotBlank(wxRentContract.getRentArea()) && !"0".equals(wxRentContract.getRentArea()) && !"0.00".equals(wxRentContract.getRentArea()) && !"0.0".equals(wxRentContract.getRentArea()) ) { 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); record.setUpdatetime(date);


List<Long> shopList = Lists.newArrayList(); List<Long> 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<WxMerchantShop> 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 + " 已出租"); 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<WxMerchantShop> 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 { try {
@@ -499,21 +486,32 @@ public class WxRentContractServiceImpl implements WxRentContractService {
Date tempDate = record.getRentalStartDate(); Date tempDate = record.getRentalStartDate();
record.setRentalStartDate(oldRentStartDate); record.setRentalStartDate(oldRentStartDate);
wxRentContractMapper.insert(record); 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); record.setRentalStartDate(tempDate);
} catch (Exception e) { } catch (Exception e) {
logger.error("保存租赁合同信息失败,e:" + e.getMessage()); logger.error("保存租赁合同信息失败,e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + 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<WxBillRent> 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<WxBillRent> resultList = buildRent(new WxMerchant(), null, record, EnumIsPreview.YES.getCode(),true);
// record.setPreviewBillRentList(resultList);
// }
//创建预览账单
List<WxBillRent> resultList = buildRent(null, record, EnumIsPreview.YES.getCode(),true);
record.setPreviewBillRentList(resultList);
EventUtil.publistRentEvent(this, record); EventUtil.publistRentEvent(this, record);
return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", record); return new ResultData(Result.SUCCESS, "保存租赁合同信息成功", record);
@@ -564,7 +562,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
&& !record.getReceivePeriod().equals(0) && !record.getLease().equals(0)) { && !record.getReceivePeriod().equals(0) && !record.getLease().equals(0)) {
//删除预账单,重新生成 //删除预账单,重新生成
wxBillRentMapper.deletePreviewBill(record); 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()); record.setUpdatetime(new Date());

if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) {
// if (record.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) {
String rentInfo = record.getRentInfo(); String rentInfo = record.getRentInfo();
JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); JSONArray rentInfoArray = JSONArray.parseArray(rentInfo);
int size = rentInfoArray.size(); int size = rentInfoArray.size();
@@ -680,9 +677,8 @@ public class WxRentContractServiceImpl implements WxRentContractService {
if (shopId == null) { if (shopId == null) {
return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除");
} }
wxRentContractQuery.setShopId(shopId);
wxRentContractQuery.setId(record.getId()); wxRentContractQuery.setId(record.getId());
int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContractQuery);
int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContractQuery.getTenantId(),wxRentContractQuery.getParentTenantId(),shopId,wxRentContractQuery.getId());
if (count > 0) { if (count > 0) {
return new ResultData(ErrorCode.SHOP_IS_RENT.getCode(), "店铺 " + shopNumber + " 已出租"); 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 { try {
Date tempDate = record.getRentalStartDate(); Date tempDate = record.getRentalStartDate();
@@ -737,7 +733,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {


@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
@Override @Override
public void buildDeposit(WxMerchant wxMerchant, Long userId,Long rentContractId) {
public void buildDeposit( Long userId,Long rentContractId) {
WxRentContract wxRentContract = wxRentContractMapper.selectById(rentContractId); WxRentContract wxRentContract = wxRentContractMapper.selectById(rentContractId);
if (wxRentContract != null && wxRentContract.getDeposit() > 0) { if (wxRentContract != null && wxRentContract.getDeposit() > 0) {
final IdWorker idWorker = IdWorker.get(); final IdWorker idWorker = IdWorker.get();
@@ -772,9 +768,9 @@ public class WxRentContractServiceImpl implements WxRentContractService {
wxBillDeposit.setStatus(EnumBillRentStatus.WAIT_PAY.getCode()); wxBillDeposit.setStatus(EnumBillRentStatus.WAIT_PAY.getCode());
wxBillDeposit.setExpiredDay(0L); wxBillDeposit.setExpiredDay(0L);
wxBillDeposit.setReceiveDate(time); wxBillDeposit.setReceiveDate(time);
wxBillDeposit.updateTenantInfo(wxMerchant);
wxBillDeposit.updateTenantInfo(wxRentContract);
wxBillDeposit.setIsDel(0); wxBillDeposit.setIsDel(0);
wxBillDeposit.setMerchantId(wxMerchant.getId());
wxBillDeposit.setMerchantId(wxRentContract.getMerchantId());
wxBillDeposit.setUserId(userId); wxBillDeposit.setUserId(userId);
wxBillDeposit.setShopId(wxRentContract.getShopId()); wxBillDeposit.setShopId(wxRentContract.getShopId());
wxBillDeposit.setCreatetime(date); wxBillDeposit.setCreatetime(date);
@@ -808,38 +804,38 @@ public class WxRentContractServiceImpl implements WxRentContractService {
return rentContractList; 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<WxRentContract> 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<WxRentContract> 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<WxRentContract> 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<WxRentContract> rentContractList = wxRentContractMapper.selectList(new QueryWrapper(record));
// for (WxRentContract updateContract : rentContractList) {
// updateInvalidStatus(updateContract);
// }
// }
//
// }


@Override @Override
public ResultData hasRentStatus(WxRentContract record) { public ResultData hasRentStatus(WxRentContract record) {
@@ -948,24 +944,11 @@ public class WxRentContractServiceImpl implements WxRentContractService {


@Override @Override
@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
public List<WxBillRent> buildRent(WxMerchant wxMerchant, Long userId,WxRentContract rentContract,Integer isPreview,boolean saveDb) {
public List<WxBillRent> buildRent( Long userId,WxRentContract wxRentContract,Integer isPreview,boolean saveDb) {
List<WxBillRent> rentList = new ArrayList<>(); List<WxBillRent> rentList = new ArrayList<>();
//根据商户ID找出合同
WxRentContract wxRentContract;
if(rentContract == null){
wxRentContract = new WxRentContract();
wxRentContract.setMerchantId(wxMerchant.getId());
List<WxRentContract> list = wxRentContractMapper.findList(wxRentContract);
if (list.size() > 0) {
wxRentContract = list.get(0);
}
}else{
wxRentContract = rentContract;
}
if (wxRentContract != null) { if (wxRentContract != null) {
int receivePeriod = wxRentContract.getReceivePeriod().intValue(); int receivePeriod = wxRentContract.getReceivePeriod().intValue();
Integer lease = wxRentContract.getLease(); Integer lease = wxRentContract.getLease();

Date rentalStartDate = wxRentContract.getRentalStartDate(); Date rentalStartDate = wxRentContract.getRentalStartDate();
Long price = wxRentContract.getPrice(); Long price = wxRentContract.getPrice();


@@ -977,7 +960,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
// //如果按日 // //如果按日
// List<Date> yearList = new ArrayList<>(); // List<Date> yearList = new ArrayList<>();
// yearList.add(rentalStartDate); // yearList.add(rentalStartDate);
// Map<String, Object> resultMap = buildRent(receivePeriod, new long[]{price}, yearList, Calendar.DAY_OF_MONTH, wxRentContract, userId, wxMerchant, 0, isPreview,null);
// Map<String, Object> resultMap = buildRent(receivePeriod, new long[]{price}, yearList, Calendar.DAY_OF_MONTH, wxRentContract, userId, 0, isPreview,null,saveDb);
// rentList = ( List<WxBillRent>)resultMap.get("billList"); // rentList = ( List<WxBillRent>)resultMap.get("billList");
// } // }
} }
@@ -1278,7 +1261,9 @@ public class WxRentContractServiceImpl implements WxRentContractService {
wxBillRent.setIsDel(0); wxBillRent.setIsDel(0);
wxBillRent.setMerchantId(wxRentContract.getMerchantId()); wxBillRent.setMerchantId(wxRentContract.getMerchantId());
wxBillRent.setUserId(userId); 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.setCreatetime(date);
wxBillRent.setUpdatetime(date); wxBillRent.setUpdatetime(date);
wxBillRent.setIsDel(EnumDelStatus.NOT_DEL.getCode()); 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<String, Object> resultData = new HashMap();
//商铺信息
WxShop wxShop = new WxShop();
wxShop.updateTenantInfo(rentContract);
wxShop.setType(rentContract.getRentShopType());
wxShop.setStatus(EnumShopStatus.RENT.getCode());
List<WxShop> rentedList = wxShopMapper.findList(wxShop);
wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode());
List<WxShop> unrentedList = wxShopMapper.findList(wxShop);
HashMap<String, Object> 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<String, Object> resultData = new HashMap();
// //商铺信息
// WxShop wxShop = new WxShop();
// wxShop.updateTenantInfo(rentContract);
// wxShop.setType(rentContract.getRentShopType());
// wxShop.setStatus(EnumShopStatus.RENT.getCode());
// List<WxShop> rentedList = wxShopMapper.findList(wxShop);
// wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode());
// List<WxShop> unrentedList = wxShopMapper.findList(wxShop);
//
// HashMap<String, Object> 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}) @Transactional(rollbackFor = {Exception.class})
@Override @Override
@@ -1535,69 +1520,51 @@ public class WxRentContractServiceImpl implements WxRentContractService {


@Override @Override
public PageInfo<WxRentContract> getRentContractList(WxRentContract rentContract, Integer pageIndex, Integer pageSize) { public PageInfo<WxRentContract> getRentContractList(WxRentContract rentContract, Integer pageIndex, Integer pageSize) {
PageInfo<WxRentContract> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.getRentContractList(rentContract));
//PageInfo<WxRentContract> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.getRentContractList(rentContract));
PageInfo<WxRentContract> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.findList(rentContract));
return pageInfo; return pageInfo;
} }


@Override
public Map<String, Object> updateStatus(WxRentContract record) {
Map<String, Object> 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<Map<String, Object>> rentContractData = wxRentContractMapper.queryRentContractData(wxRentContract);
for (int i = 0, size = rentContractData.size(); i < size; i++) {
Map<String, Object> 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<String, Object> updateStatus(WxRentContract record) {
// Map<String, Object> 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 @Override
public void exportContract(HttpServletRequest request, HttpServletResponse response, Long id) { public void exportContract(HttpServletRequest request, HttpServletResponse response, Long id) {
@@ -1670,16 +1637,16 @@ public class WxRentContractServiceImpl implements WxRentContractService {
billRent.setIsPreview(EnumIsPreview.NO.getCode()); billRent.setIsPreview(EnumIsPreview.NO.getCode());
billRent.setMerchantId(record.getMerchantId()); billRent.setMerchantId(record.getMerchantId());
wxBillRentMapper.updatePreviewStatus(billRent); 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) { if(record.getDeposit() > 0) {
//押金 //押金
buildDeposit(wxMerchant, null, id);
buildDeposit( null, id);
} }
updatePropertyPreviewBill(record); updatePropertyPreviewBill(record);
//作废合同 //作废合同
updateInvalidContract(id);
//updateInvalidContract(id);
} }


return new ResultData(Result.SUCCESS, "操作成功"); return new ResultData(Result.SUCCESS, "操作成功");
@@ -2200,10 +2167,10 @@ public class WxRentContractServiceImpl implements WxRentContractService {
wxRentContractMapper.updateApplyStatus(wxRentContract); 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){ public static double getMonthNeedPay(Double price,Date start,Date end,int dayType,int receivePeriod,boolean part){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
@@ -2433,42 +2400,42 @@ public class WxRentContractServiceImpl implements WxRentContractService {
return wxRentContractMapper.getByBill(billRent); return wxRentContractMapper.getByBill(billRent);
} }


@Override
public Map<Long, WxRentContract> selectRentContractByShopIds(Collection<Long> shopIds, String shopIdsRegexp, TenantEntity tenantEntity) {
List<WxRentContract> list = wxRentContractMapper.selectRentContractByShopIds(shopIds, shopIdsRegexp, tenantEntity.getTenantId(), tenantEntity.getParentTenantId());
List<String> shopIdArr = Arrays.asList(StringUtils.split(shopIdsRegexp,"|")) ;
Map<Long, WxRentContract> 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<Long, WxRentContract> selectRentContractByShopIds(Collection<Long> shopIds, String shopIdsRegexp, TenantEntity tenantEntity) {
// List<WxRentContract> list = wxRentContractMapper.selectRentContractByShopIds(shopIds, shopIdsRegexp, tenantEntity.getTenantId(), tenantEntity.getParentTenantId());
// List<String> shopIdArr = Arrays.asList(StringUtils.split(shopIdsRegexp,"|")) ;
// Map<Long, WxRentContract> 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 @Override
public ResultData getContractByContractNumber(WxRentContract rentContract) { public ResultData getContractByContractNumber(WxRentContract rentContract) {
@@ -2779,4 +2746,35 @@ public class WxRentContractServiceImpl implements WxRentContractService {
} }
return false; 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<Map<String, Object>> rentContractData = wxRentContractMapper.queryRentContractData(wxRentContract);
for (int i = 0, size = rentContractData.size(); i < size; i++) {
Map<String, Object> 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);
}
}
}
}
} }

+ 4
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxRentPropertyContractServiceImpl.java View File

@@ -46,10 +46,10 @@ public class WxRentPropertyContractServiceImpl implements WxRentPropertyContract
@Autowired @Autowired
WxRentContractService wxRentContractService; WxRentContractService wxRentContractService;


@Override
public PageInfo<WxRentPropertyContractVo> listContractVo(WxRentPropertyContractVo record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.listContractVo(record));
}
// @Override
// public PageInfo<WxRentPropertyContractVo> listContractVo(WxRentPropertyContractVo record, Integer pageIndex, Integer pageSize) {
// return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxRentContractMapper.listContractVo(record));
// }


@Override @Override
public ResultData getContractInfo(Long id) { public ResultData getContractInfo(Long id) {


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java View File

@@ -1131,7 +1131,7 @@ public class InvestBizServiceImpl implements InvestBizService {
} else { } else {
WxRentContract contractQuery = new WxRentContract(); WxRentContract contractQuery = new WxRentContract();
contractQuery.updateTenantInfo(InvestUserContext.getUser()); contractQuery.updateTenantInfo(InvestUserContext.getUser());
contractQuery.setShopId(investTaskEntity.getTargetId());
//contractQuery.setShopId(investTaskEntity.getTargetId());
//contractQuery.setStatus(EnumRentContractStatus.INTENTION.getCode()); //contractQuery.setStatus(EnumRentContractStatus.INTENTION.getCode());
//获取意向合同 //获取意向合同
//int count = rentContractService.selectContractCountByShopId(contractQuery); //int count = rentContractService.selectContractCountByShopId(contractQuery);


+ 58
- 50
mallinkService/src/main/resources/mapper/WxRentContractMapper.xml View File

@@ -21,7 +21,6 @@
<result column="brand" jdbcType="VARCHAR" property="brand"/> <result column="brand" jdbcType="VARCHAR" property="brand"/>
<result column="business_id" jdbcType="INTEGER" property="businessId"/> <result column="business_id" jdbcType="INTEGER" property="businessId"/>
<result column="shop_type" jdbcType="INTEGER" property="shopType"/> <result column="shop_type" jdbcType="INTEGER" property="shopType"/>
<result column="shop_id" jdbcType="BIGINT" property="shopId"/>
<result column="updatetime" jdbcType="TIMESTAMP" property="updatetime"/> <result column="updatetime" jdbcType="TIMESTAMP" property="updatetime"/>
<result column="createtime" jdbcType="TIMESTAMP" property="createtime"/> <result column="createtime" jdbcType="TIMESTAMP" property="createtime"/>
<result column="link_person" jdbcType="VARCHAR" property="linkPerson"/> <result column="link_person" jdbcType="VARCHAR" property="linkPerson"/>
@@ -68,6 +67,7 @@
<result column="rent_price" property="rentPrice"/> <result column="rent_price" property="rentPrice"/>
<result column="subject_name" property="subjectName"/> <result column="subject_name" property="subjectName"/>
<result column="rent_start_type" property="rentStartType"/> <result column="rent_start_type" property="rentStartType"/>
<result column="shop_name" property="shopName"/>


<result column="rent_input_way" property="rentInputWay"/> <result column="rent_input_way" property="rentInputWay"/>
<result column="adjust_ratio_way" property="adjustRatioWay"/> <result column="adjust_ratio_way" property="adjustRatioWay"/>
@@ -82,9 +82,9 @@
<sql id="allColumns"> <sql id="allColumns">
`id`,`merchant_id`,`price`,`rental_start_date`,`rental_end_date`,`sign_date`,`receive_period`, `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`, `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`, `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`, `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, `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 `rent_input_way`,`adjust_ratio_way`,`operation_type`,late_pay_ratio,late_pay_day,bus_discount_ratio,bus_discount_time
@@ -116,7 +116,6 @@
<if test=" null != brand ">and `brand` = #{brand}</if> <if test=" null != brand ">and `brand` = #{brand}</if>
<if test=" null != businessId ">and `business_id` = #{businessId}</if> <if test=" null != businessId ">and `business_id` = #{businessId}</if>
<if test=" null != shopType ">and `shop_type` = #{shopType}</if> <if test=" null != shopType ">and `shop_type` = #{shopType}</if>
<if test=" null != shopId ">and `shop_id` = #{shopId}</if>
<if test=" null != updatetime ">and `updatetime` = #{updatetime}</if> <if test=" null != updatetime ">and `updatetime` = #{updatetime}</if>
<if test=" null != createtime ">and `createtime` = #{createtime}</if> <if test=" null != createtime ">and `createtime` = #{createtime}</if>
<if test=" null != linkPerson ">and `link_person` = #{linkPerson}</if> <if test=" null != linkPerson ">and `link_person` = #{linkPerson}</if>
@@ -146,7 +145,8 @@
<include refid="dynamicWhereConditions"/> <include refid="dynamicWhereConditions"/>
</select> </select>


<select id="queryRentContractData" resultType="hashmap" parameterType="com.iformall.domain.po.WxRentContract">
<!-- 需要修改 -->
<!-- <select id="queryRentContractData" resultType="hashmap" parameterType="com.iformall.domain.po.WxRentContract">
select rc.id,rc.merchant_name merchantName,rc.rental_start_date rentalStartDate,rc.rental_end_date rentalEndDate,rc.`status`, select rc.id,rc.merchant_name merchantName,rc.rental_start_date rentalStartDate,rc.rental_end_date rentalEndDate,rc.`status`,
rc.price,rc.contract_number contractNumber,s.shop_number shopNumber,f.floor_name floorName,b.building_name buildingName, rc.price,rc.contract_number contractNumber,s.shop_number shopNumber,f.floor_name floorName,b.building_name buildingName,
rc.lease,rc.filepath,rc.filename,rc.pay_account payAccount,rc.sign_date signDate,rc.merchant_id merchantId,rc.type, rc.lease,rc.filepath,rc.filename,rc.pay_account payAccount,rc.sign_date signDate,rc.merchant_id merchantId,rc.type,
@@ -222,9 +222,21 @@
<if test=" null != sortColumns"> order by ${sortColumns} </if> <if test=" null != sortColumns"> order by ${sortColumns} </if>
<if test=" null == sortColumns"> order by rc.createtime desc,rc.id desc </if> <if test=" null == sortColumns"> order by rc.createtime desc,rc.id desc </if>


</select> -->

<select id="queryRentContractCountByStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
select count(1) from wx_rent_contract where status=#{status}
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>

</select> </select>


<select id="queryRentContractWaitSignStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <select id="queryRentContractWaitSignStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
select count(id) from wx_rent_contract where status=#{status} select count(id) from wx_rent_contract where status=#{status}
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -235,9 +247,9 @@
<if test=" null != rentShopType "> <if test=" null != rentShopType ">
and rent_shop_type = #{rentShopType} and rent_shop_type = #{rentShopType}
</if> </if>
</select>
</select> -->


<select id="queryRentContractEndSoonStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <select id="queryRentContractEndSoonStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
select count(id) from wx_rent_contract where status=4 select count(id) from wx_rent_contract where status=4
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -246,9 +258,9 @@
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
<if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if> <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
</select>
</select> -->


<select id="queryRentContractPaidStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <select id="queryRentContractPaidStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
select count(id) from wx_rent_contract where status in (2,3,4) select count(id) from wx_rent_contract where status in (2,3,4)
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -257,9 +269,9 @@
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
<if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if> <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
</select>
</select> -->


<select id="queryRentContractEndStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <select id="queryRentContractEndStatus" resultType="int" parameterType="com.iformall.domain.po.WxRentContract">
select count(id) from wx_rent_contract where status!=0 and status!=1 and status!=6 and status!=7 and rental_end_date &lt;now() select count(id) from wx_rent_contract where status!=0 and status!=1 and status!=6 and status!=7 and rental_end_date &lt;now()
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -269,9 +281,9 @@
</if> </if>
<if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if> <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>


</select>
</select> -->


<update id="updateRentContractEndSoonStatus" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <update id="updateRentContractEndSoonStatus" parameterType="com.iformall.domain.po.WxRentContract">
update wx_rent_contract set status=#{status} where status not in(0,1,5,6,7,8) update wx_rent_contract set status=#{status} where status not in(0,1,5,6,7,8)
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -280,9 +292,9 @@
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
and DATEDIFF(rental_end_date,now()) &lt;= 30 and rental_end_date > now() and DATEDIFF(rental_end_date,now()) &lt;= 30 and rental_end_date > now()
</update>
</update> -->


<update id="updateRentContractPaidStatus" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <update id="updateRentContractPaidStatus" parameterType="com.iformall.domain.po.WxRentContract">
update wx_rent_contract set status=#{status} where status not in(0,1,5,6,7,8) update wx_rent_contract set status=#{status} where status not in(0,1,5,6,7,8)
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -291,9 +303,9 @@
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
and rental_start_date &lt;= now() and rental_end_date >= now() and rental_start_date &lt;= now() and rental_end_date >= now()
</update>
</update> -->


<update id="updateRentContractEndStatus" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <update id="updateRentContractEndStatus" parameterType="com.iformall.domain.po.WxRentContract">
update wx_rent_contract set status=#{status} where status not in(0,1,5,6,7,8) update wx_rent_contract set status=#{status} where status not in(0,1,5,6,7,8)
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -302,9 +314,9 @@
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
and rental_end_date &lt;now() and rental_end_date &lt;now()
</update>
</update> -->


<update id="updateRentWaitSignStatus" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <update id="updateRentWaitSignStatus" parameterType="com.iformall.domain.po.WxRentContract">
update wx_rent_contract set status=#{status} where status not in(0,5,6,7) update wx_rent_contract set status=#{status} where status not in(0,5,6,7)
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -313,7 +325,7 @@
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
and merchant_id is null and merchant_id is null
</update>
</update> -->


<update id="updateApplyStatus" parameterType="com.iformall.domain.po.WxRentContract"> <update id="updateApplyStatus" parameterType="com.iformall.domain.po.WxRentContract">
update wx_rent_contract update wx_rent_contract
@@ -327,7 +339,7 @@
update wx_rent_contract set status=#{status} where id=#{id} update wx_rent_contract set status=#{status} where id=#{id}
</update> </update>


<update id="updateRentInvalidStatus" parameterType="com.iformall.domain.po.WxRentContract">
<!-- <update id="updateRentInvalidStatus" parameterType="com.iformall.domain.po.WxRentContract">
update wx_rent_contract set status=#{status} where shop_id in ( update wx_rent_contract set status=#{status} where shop_id in (
select s.shop_id from (SELECT shop_id FROM wx_rent_contract WHERE status in(2,3,4) select s.shop_id from (SELECT shop_id FROM wx_rent_contract WHERE status in(2,3,4)
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
@@ -337,15 +349,10 @@
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
)s) and status in(0,1) and status!=7 and rent_shop_type=2 )s) and status in(0,1) and status!=7 and rent_shop_type=2
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
</update>
</update> -->



<select id="getRentContractList" parameterType="com.iformall.domain.po.WxRentContract"
<!-- <select id="getRentContractList" parameterType="com.iformall.domain.po.WxRentContract"
resultType="com.iformall.domain.po.WxRentContract"> resultType="com.iformall.domain.po.WxRentContract">
select s.shop_id,s.shop_number,s.building_name building, s.floor_name floor,s.build_area,rc.* from ( select s.shop_id,s.shop_number,s.building_name building, s.floor_name floor,s.build_area,rc.* from (
select s.id shop_id,ms.merchant_id,s.shop_number,b.building_name,f.floor_name,s.build_area,s.floor,s.building select s.id shop_id,ms.merchant_id,s.shop_number,b.building_name,f.floor_name,s.build_area,s.floor,s.building
@@ -370,10 +377,9 @@
</if> </if>
<if test=" null != building and ''!=building"> <if test=" null != building and ''!=building">
and s.building = #{building} and s.building = #{building}

</if> </if>
order by rc.id desc order by rc.id desc
</select>
</select> -->


<select id="updateStatusForUnsign" parameterType="com.iformall.domain.po.WxRentContract"> <select id="updateStatusForUnsign" parameterType="com.iformall.domain.po.WxRentContract">
update wx_rent_contract set status=1 where status=2 and merchant_id is null update wx_rent_contract set status=1 where status=2 and merchant_id is null
@@ -385,7 +391,7 @@
</if> </if>
</select> </select>


<select id="getRentInvalidList" parameterType="com.iformall.domain.po.WxRentContract"
<!-- <select id="getRentInvalidList" parameterType="com.iformall.domain.po.WxRentContract"
resultType="com.iformall.domain.po.WxRentContract"> resultType="com.iformall.domain.po.WxRentContract">
select id from wx_rent_contract where shop_id in ( select id from wx_rent_contract where shop_id in (
select s.shop_id from (SELECT shop_id FROM wx_rent_contract WHERE status in(2,3,4) select s.shop_id from (SELECT shop_id FROM wx_rent_contract WHERE status in(2,3,4)
@@ -402,22 +408,22 @@
<if test=" null != parentTenantId and '' != parentTenantId"> <if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId} and `parent_tenant_id` = #{parentTenantId}
</if> </if>
</select>
</select> -->


<select id="queryOweCount" parameterType="com.iformall.domain.po.WxRentContract" resultType="Long"> <select id="queryOweCount" parameterType="com.iformall.domain.po.WxRentContract" resultType="Long">
select count(*) from wx_rent_contract r,wx_bill_rent b
select count(1) from wx_rent_contract r,wx_bill_rent b
where b.rent_contract_id = r.id and b.status = 1 and r.id = #{id} where b.rent_contract_id = r.id and b.status = 1 and r.id = #{id}
</select> </select>


<select id="getMerchants" parameterType="com.iformall.domain.po.WxRentContract" <select id="getMerchants" parameterType="com.iformall.domain.po.WxRentContract"
resultType="com.iformall.domain.po.WxRentContract"> resultType="com.iformall.domain.po.WxRentContract">
select * from wx_rent_contract where status in(2,3,4)
select <include refid="allColumns"/> from wx_rent_contract where status in(2,3,4)
and merchant_id not in(select merchant_id from wx_property_contract where status in(2,3,4)) and merchant_id not in(select merchant_id from wx_property_contract where status in(2,3,4))
<if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if> <if test=" null != rentShopType ">and rent_shop_type = #{rentShopType}</if>
</select> </select>


<select id="selectRentContractCountByShopId" parameterType="com.iformall.domain.po.WxRentContract" resultType="int">
select count(*) from wx_rent_contract where 1=1
<select id="selectRentContractCountByShopId" parameterType="java.util.Map" resultType="int">
select count(1) from wx_rent_contract where 1=1
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
</if> </if>
@@ -432,7 +438,7 @@


<select id="selectRentContractByShopId" parameterType="com.iformall.domain.po.WxRentContract" <select id="selectRentContractByShopId" parameterType="com.iformall.domain.po.WxRentContract"
resultType="com.iformall.domain.po.WxRentContract"> resultType="com.iformall.domain.po.WxRentContract">
select * from wx_rent_contract
select <include refid="allColumns"/> from wx_rent_contract
where 1=1 where 1=1
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId} and `tenant_id` = #{tenantId}
@@ -460,14 +466,14 @@


<select id="selectRentContractByMerchantId" parameterType="com.iformall.domain.po.WxRentContract" <select id="selectRentContractByMerchantId" parameterType="com.iformall.domain.po.WxRentContract"
resultType="com.iformall.domain.po.WxRentContract"> resultType="com.iformall.domain.po.WxRentContract">
select * from wx_rent_contract
select <include refid="allColumns"/> from wx_rent_contract
where status in(2,3,4) where status in(2,3,4)
and merchant_id = #{merchantId} and merchant_id = #{merchantId}
</select> </select>


<select id="hasContractNumber" parameterType="com.iformall.domain.po.WxRentContract" <select id="hasContractNumber" parameterType="com.iformall.domain.po.WxRentContract"
resultType="int"> resultType="int">
select count(*) from (
select count(1) from (
select * from wx_rent_contract where contract_number=#{contractNumber} select * from wx_rent_contract where contract_number=#{contractNumber}
and status not in(5,6,7) and status not in(5,6,7)
<if test=" null != tenantId and '' != tenantId"> <if test=" null != tenantId and '' != tenantId">
@@ -493,12 +499,12 @@
</where> </where>
</select> </select>


<select id="getShopType" parameterType="com.iformall.domain.po.WxRentContract" resultType="int">
<!-- <select id="getShopType" parameterType="com.iformall.domain.po.WxRentContract" resultType="int">
select s.type select s.type
from wx_rent_contract r from wx_rent_contract r
left join wx_shop s on(s.id = r.`shop_id`) left join wx_shop s on(s.id = r.`shop_id`)
where r.id = #{id} where r.id = #{id}
</select>
</select> -->


<resultMap id="contractMap" type="com.iformall.domain.vo.WxRentPropertyContractVo"> <resultMap id="contractMap" type="com.iformall.domain.vo.WxRentPropertyContractVo">
<id column="id" property="id"/> <id column="id" property="id"/>
@@ -523,7 +529,8 @@
<result column="bus_discount_ratio" property="busDiscountRatio"/> <result column="bus_discount_ratio" property="busDiscountRatio"/>
</resultMap> </resultMap>


<select id="listContractVo" parameterType="com.iformall.domain.vo.WxRentPropertyContractVo" resultMap="contractMap">
<!-- <select id="listContractVo" parameterType="com.iformall.domain.vo.WxRentPropertyContractVo" resultMap="contractMap">
select rc.id,rc.merchant_name,rc.rental_start_date,rc.rental_end_date,rc.`status`, select rc.id,rc.merchant_name,rc.rental_start_date,rc.rental_end_date,rc.`status`,
rc.price as rent_price,rc.contract_number,s.shop_number,rc.type,rc.apply_status, rc.price as rent_price,rc.contract_number,s.shop_number,rc.type,rc.apply_status,
rc.rent_shop_type,rc.rent_info,pc.price as property_price,rc.merchant_id,pc.`status` as property_status, rc.rent_shop_type,rc.rent_info,pc.price as property_price,rc.merchant_id,pc.`status` as property_status,
@@ -594,10 +601,10 @@
</where> </where>
<if test=" null != sortColumns">order by ${sortColumns}</if> <if test=" null != sortColumns">order by ${sortColumns}</if>
<if test=" null == sortColumns">order by rc.createtime desc,rc.id desc</if> <if test=" null == sortColumns">order by rc.createtime desc,rc.id desc</if>
</select>
</select> -->


<select id="getByBill" parameterType="com.iformall.domain.po.WxBillRent" resultMap="BaseResultMap"> <select id="getByBill" parameterType="com.iformall.domain.po.WxBillRent" resultMap="BaseResultMap">
select * from wx_rent_contract
select <include refid="allColumns"/> from wx_rent_contract
where id in( where id in(
select rent_contract_id from wx_bill_rent id = #{id} select rent_contract_id from wx_bill_rent id = #{id}
) )
@@ -614,7 +621,8 @@
select 2 type,c.`rental_start_date`,c.`rental_end_date`,c.id id from wx_merchant m left join wx_property_contract c on(m.id = c.merchant_id) select 2 type,c.`rental_start_date`,c.`rental_end_date`,c.id id from wx_merchant m left join wx_property_contract c on(m.id = c.merchant_id)
where m.business_id = #{id} and c.price is not null and c.`rental_start_date` is not null and c.`rental_end_date` is not null where m.business_id = #{id} and c.price is not null and c.`rental_start_date` is not null and c.`rental_end_date` is not null
</select> </select>
<select id="selectRentContractByShopIds" resultType="com.iformall.domain.po.WxRentContract">
<!-- <select id="selectRentContractByShopIds" resultType="com.iformall.domain.po.WxRentContract">
SELECT rc.id,rc.rental_start_date,rc.rental_end_date,rc.`shop_id`,rc.`rent_shop_type`,rc.`rent_info` FROM SELECT rc.id,rc.rental_start_date,rc.rental_end_date,rc.`shop_id`,rc.`rent_shop_type`,rc.`rent_info` FROM
`wx_rent_contract` rc `wx_rent_contract` rc
WHERE rc.`status` IN (2,3,4) AND status!=7 WHERE rc.`status` IN (2,3,4) AND status!=7
@@ -631,9 +639,9 @@
) )
OR (rc.`rent_shop_type`=1 AND rc.`rent_info` REGEXP #{shopIdsRegexp}) OR (rc.`rent_shop_type`=1 AND rc.`rent_info` REGEXP #{shopIdsRegexp})
) )
</select>
</select> -->


<select id="selectContractCountByShopId" parameterType="com.iformall.domain.po.WxRentContract" resultType="int">
<!-- <select id="selectContractCountByShopId" parameterType="com.iformall.domain.po.WxRentContract" resultType="int">
SELECT count(*) SELECT count(*)
FROM wx_rent_contract FROM wx_rent_contract
WHERE `status` = #{status} AND status!=7 WHERE `status` = #{status} AND status!=7
@@ -649,7 +657,7 @@
OR OR
`rent_shop_type` = 2 AND `shop_id` = #{shopId} `rent_shop_type` = 2 AND `shop_id` = #{shopId}
) )
</select>
</select> -->


<select id="searchMerchantByname" resultType="hashmap" parameterType="com.iformall.domain.po.WxRentContract"> <select id="searchMerchantByname" resultType="hashmap" parameterType="com.iformall.domain.po.WxRentContract">
select merchant_id,merchant_name from wx_rent_contract where tenant_id = #{tenantId} and merchant_name like concat('%',#{merchantName},'%') and rent_shop_type = #{rentShopType} and status in (3,5) and merchant_id not in (select merchant_id from wx_rent_contract where status=9) ORDER BY merchant_name select merchant_id,merchant_name from wx_rent_contract where tenant_id = #{tenantId} and merchant_name like concat('%',#{merchantName},'%') and rent_shop_type = #{rentShopType} and status in (3,5) and merchant_id not in (select merchant_id from wx_rent_contract where status=9) ORDER BY merchant_name


+ 34
- 0
mallinkService/src/main/resources/mapper/WxRentContractShopMapper.xml View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.WxRentContractShopMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxRentContractShop">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="rent_contract_id" jdbcType="BIGINT" property="rentContractId"/>
<result column="shop_id" jdbcType="BIGINT" property="shopId"/>
</resultMap>

<sql id="allColumns">
`id`,`rent_contract_id`,`shop_id`
</sql>


<sql id="dynamicWhereConditions">
where 1 = 1
<if test=" null != id ">and `id` = #{id}</if>
<if test=" null != rentContractId ">and `rent_contract_id` = #{rentContractId}</if>
<if test=" null != shopId ">and `shop_id` = #{shopId}</if>
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>

<select id="findList" parameterType="com.iformall.domain.po.WxRentContractShop" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from wx_rent_contract_shop
<include refid="dynamicWhereConditions"/>
</select>
<delete id="deleteShops" parameterType="Long">
delete from wx_rent_contract_shop where rent_contract_id = #{contractId}
</delete>
</mapper>


Loading…
Cancel
Save