| @@ -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({ | ||||
| @@ -52,3 +52,15 @@ ADD COLUMN `plat` SMALLINT(3) NOT NULL DEFAULT 1 COMMENT '平台 1:微信 2:阿 | |||||
| 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(100) COMMENT '店铺名称'; | |||||
| @@ -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("合同状态更新结束"); | ||||
| } | } | ||||
| @@ -1,5 +1,7 @@ | |||||
| package com.iformall.domain.po; | package com.iformall.domain.po; | ||||
| import com.alibaba.fastjson.JSONArray; | |||||
| import com.alibaba.fastjson.JSONObject; | |||||
| import com.baomidou.mybatisplus.annotation.TableField; | import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.iformall.common.SortColumn; | import com.iformall.common.SortColumn; | ||||
| @@ -9,6 +11,8 @@ import com.iformall.enums.EnumRentContractAdjustPeriod; | |||||
| import lombok.Data; | import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| import lombok.ToString; | import lombok.ToString; | ||||
| import org.apache.commons.compress.utils.Lists; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import java.math.BigDecimal; | import java.math.BigDecimal; | ||||
| @@ -114,8 +118,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 +159,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 +195,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; | ||||
| @@ -252,5 +261,18 @@ public class WxRentContract extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "合同类型", name = "contractType") | @io.swagger.annotations.ApiModelProperty(value = "合同类型", name = "contractType") | ||||
| private Integer contractType; | private Integer contractType; | ||||
| public List<Long> shopIdsByRentInfo() { | |||||
| List<Long> shopList = Lists.newArrayList(); | |||||
| String rentInfo = this.getRentInfo(); | |||||
| JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); | |||||
| int size = rentInfoArray.size(); | |||||
| for (int i = 0; i < size; i++) { | |||||
| JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); | |||||
| Long shopId = rentInfoObject.getLong("shopId"); | |||||
| shopList.add(shopId); | |||||
| } | |||||
| return shopList; | |||||
| } | |||||
| } | } | ||||
| @@ -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,8 +20,8 @@ public class WxRentPropertyContractVo extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "合同编号", name = "contractNumber") | @io.swagger.annotations.ApiModelProperty(value = "合同编号", name = "contractNumber") | ||||
| private String contractNumber; | private String contractNumber; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "商铺号", name = "shopNumber") | |||||
| private String shopNumber; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "商铺号", name = "shopName") | |||||
| private String shopName; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "rentInfo") | @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "rentInfo") | ||||
| private String rentInfo; | private String rentInfo; | ||||
| @@ -6,8 +6,6 @@ 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 java.util.Collection; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| @@ -18,33 +16,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,28 +52,25 @@ 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); | |||||
| List<WxRentContract> selectRentContractByMerchantId(WxRentContract wxRentContract); | List<WxRentContract> selectRentContractByMerchantId(WxRentContract wxRentContract); | ||||
| List<WxRentContract> selectRentContractByShopId(WxRentContract record); | |||||
| List<WxRentContract> selectRentContractByShopId(@Param("tenantId") String tenantId,@Param("parentTenantId") String parentTenantId,@Param("shopId") Long shopId,@Param("status") Integer status); | |||||
| 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); | ||||
| @@ -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); | |||||
| } | |||||
| @@ -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); | |||||
| } | } | ||||
| @@ -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; | ||||
| @@ -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); | ||||
| } | } | ||||
| @@ -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(); | ||||
| @@ -1131,9 +1131,12 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| wxPropertyContract.updateTenantInfo(wxRentContract); | wxPropertyContract.updateTenantInfo(wxRentContract); | ||||
| if (wxRentContract.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { | if (wxRentContract.getRentShopType().equals(EnumRentShopType.SHOP.getCode())) { | ||||
| wxPropertyContract.setMerchantId(wxRentContract.getMerchantId()); | wxPropertyContract.setMerchantId(wxRentContract.getMerchantId()); | ||||
| } else { | |||||
| wxPropertyContract.setShopId(wxRentContract.getShopId()); | |||||
| } | } | ||||
| if (wxRentContract.shopIdsByRentInfo().size()==0) { | |||||
| wxPropertyContract.setShopId(wxRentContract.shopIdsByRentInfo().get(0)); | |||||
| } | |||||
| List<WxPropertyContract> select = wxPropertyContractMapper.selectList(new QueryWrapper(wxPropertyContract)); | List<WxPropertyContract> select = wxPropertyContractMapper.selectList(new QueryWrapper(wxPropertyContract)); | ||||
| if (select.size() > 0) { | if (select.size() > 0) { | ||||
| // long count = select.stream().filter(propertyContract -> propertyContract.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) || | // long count = select.stream().filter(propertyContract -> propertyContract.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) || | ||||
| @@ -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()) ) { | ||||
| @@ -210,9 +214,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| result.put("wxMerchant", null); | result.put("wxMerchant", null); | ||||
| } | } | ||||
| //关联的店铺 | //关联的店铺 | ||||
| if (wxRentContract.getShopId() != null) { | |||||
| if (wxRentContract.shopIdsByRentInfo().size()> 0) { | |||||
| WxShop record = new WxShop(); | WxShop record = new WxShop(); | ||||
| record.setId(wxRentContract.getShopId()); | |||||
| //record.setId(wxRentContract.getShopId()); | |||||
| record.setIds(wxRentContract.shopIdsByRentInfo()); | |||||
| List<Map<String, Object>> list = wxShopMapper.findListMap(record); | List<Map<String, Object>> list = wxShopMapper.findListMap(record); | ||||
| result.put("wxShops", list); | result.put("wxShops", list); | ||||
| } else { | } else { | ||||
| @@ -434,63 +439,48 @@ 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 | |||||
| String shopName = ""; | |||||
| 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.getTenantId(),wxRentContract.getParentTenantId(),shopId,wxRentContract.getId()); | |||||
| 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); | |||||
| shopName = shopName +","+ shopNumber; | |||||
| } | } | ||||
| shopList.add(record.getShopId()); | |||||
| } | } | ||||
| try { | try { | ||||
| @@ -498,22 +488,34 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | ||||
| Date tempDate = record.getRentalStartDate(); | Date tempDate = record.getRentalStartDate(); | ||||
| record.setRentalStartDate(oldRentStartDate); | record.setRentalStartDate(oldRentStartDate); | ||||
| record.setShopName(shopName); | |||||
| 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); | ||||
| @@ -521,26 +523,27 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| @Override | @Override | ||||
| public List<Long> getShopIds(WxRentContract record) { | public List<Long> getShopIds(WxRentContract record) { | ||||
| 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(); | |||||
| //查询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"); | |||||
| shopList.add(shopId); | |||||
| } | |||||
| } else { | |||||
| WxRentContract wxRentContract = new WxRentContract(); | |||||
| wxRentContract.updateTenantInfo(record); | |||||
| wxRentContract.setShopId(record.getShopId()); | |||||
| shopList.add(record.getShopId()); | |||||
| } | |||||
| return shopList; | |||||
| return record.shopIdsByRentInfo(); | |||||
| // 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(); | |||||
| // //查询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"); | |||||
| // shopList.add(shopId); | |||||
| // } | |||||
| // } else { | |||||
| // WxRentContract wxRentContract = new WxRentContract(); | |||||
| // wxRentContract.updateTenantInfo(record); | |||||
| // wxRentContract.setShopId(record.getShopId()); | |||||
| // shopList.add(record.getShopId()); | |||||
| // } | |||||
| // return shopList; | |||||
| } | } | ||||
| @Transactional(rollbackFor = {Exception.class}) | @Transactional(rollbackFor = {Exception.class}) | ||||
| @@ -564,7 +567,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); | |||||
| } | } | ||||
| } | } | ||||
| @@ -588,6 +591,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(record); | WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(record); | ||||
| final IdWorker idWorker = IdWorker.get(); | final IdWorker idWorker = IdWorker.get(); | ||||
| int count = 1; | int count = 1; | ||||
| List<Long> shopIds = record.shopIdsByRentInfo(); | |||||
| for (WxBillRent bill:record.getPreviewBillRentList()) { | for (WxBillRent bill:record.getPreviewBillRentList()) { | ||||
| bill.setId(idWorker.nextId()); | bill.setId(idWorker.nextId()); | ||||
| Date date = new Date(); | Date date = new Date(); | ||||
| @@ -604,7 +608,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| bill.setLatePayRatio(0); | bill.setLatePayRatio(0); | ||||
| bill.setPay(0L); | bill.setPay(0L); | ||||
| bill.setIsDel(EnumDelStatus.NOT_DEL.getCode()); | bill.setIsDel(EnumDelStatus.NOT_DEL.getCode()); | ||||
| bill.setShopId(record.getShopId()); | |||||
| if (null != shopIds && shopIds.size() == 1) { | |||||
| bill.setShopId(shopIds.get(0)); | |||||
| } | |||||
| setExpiredDay(bill,Calendar.MONTH,record.getReceivePeriod()); | setExpiredDay(bill,Calendar.MONTH,record.getReceivePeriod()); | ||||
| if (bill.getReceivePay().equals(0L)) { | if (bill.getReceivePay().equals(0L)) { | ||||
| bill.setStatus(EnumBillRentStatus.PAID.getCode()); | bill.setStatus(EnumBillRentStatus.PAID.getCode()); | ||||
| @@ -662,8 +668,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 +685,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 +710,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 +741,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,11 +776,13 @@ 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()); | |||||
| if (wxRentContract.shopIdsByRentInfo().size()==1) { | |||||
| wxBillDeposit.setShopId(wxRentContract.shopIdsByRentInfo().get(0)); | |||||
| } | |||||
| wxBillDeposit.setCreatetime(date); | wxBillDeposit.setCreatetime(date); | ||||
| wxBillDeposit.setUpdatetime(date); | wxBillDeposit.setUpdatetime(date); | ||||
| wxBillDeposit.setIsDel(EnumDelStatus.NOT_DEL.getCode()); | wxBillDeposit.setIsDel(EnumDelStatus.NOT_DEL.getCode()); | ||||
| @@ -808,38 +814,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) { | ||||
| @@ -859,8 +865,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(Long.valueOf(shopId)); | |||||
| int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContractQuery); | |||||
| //wxRentContractQuery.setShopId(Long.valueOf(shopId)); | |||||
| int count = wxRentContractMapper.selectRentContractCountByShopId(wxRentContractQuery.getTenantId(),wxRentContractQuery.getParentTenantId(),Long.valueOf(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 + " 已出租"); | ||||
| } | } | ||||
| @@ -948,24 +954,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 +970,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 +1271,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 +1446,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 +1530,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 +1647,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, "操作成功"); | ||||
| @@ -1727,23 +1704,26 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| result.put("buildArea", buildAreaStr); | result.put("buildArea", buildAreaStr); | ||||
| result.put("operationArea", operationAreaStr); | result.put("operationArea", operationAreaStr); | ||||
| } else { | } else { | ||||
| WxShop record = new WxShop(); | |||||
| record.setId(wxRentContract.getShopId()); | |||||
| List<Map<String, Object>> wxShops = wxShopMapper.findListMap(record); | |||||
| if (!wxShops.isEmpty()) { | |||||
| //店铺信息 | |||||
| Map<String, Object> wxShop = wxShops.get(0); | |||||
| result.put("shopNumber", wxShop.get("shopNumber")); | |||||
| result.put("floorName", wxShop.get("floor")); | |||||
| result.put("buildingName", wxShop.get("building")); | |||||
| result.put("buildArea", wxShop.get("buildArea")); | |||||
| result.put("operationArea", wxShop.get("operationArea")); | |||||
| } else { | |||||
| result.put("shopNumber", " "); | |||||
| result.put("floorName", " "); | |||||
| result.put("buildingName", " "); | |||||
| result.put("buildArea", " "); | |||||
| result.put("operationArea", " "); | |||||
| //record.setId(wxRentContract.getShopId()); | |||||
| if (wxRentContract.shopIdsByRentInfo().size() == 0) { | |||||
| result.put("shopNumber", " "); | |||||
| result.put("floorName", " "); | |||||
| result.put("buildingName", " "); | |||||
| result.put("buildArea", " "); | |||||
| result.put("operationArea", " "); | |||||
| }else { | |||||
| WxShop record = new WxShop(); | |||||
| record.setIds(wxRentContract.shopIdsByRentInfo()); | |||||
| List<Map<String, Object>> wxShops = wxShopMapper.findListMap(record); | |||||
| if (!wxShops.isEmpty()) { | |||||
| //店铺信息 | |||||
| Map<String, Object> wxShop = wxShops.get(0); | |||||
| result.put("shopNumber", wxShop.get("shopNumber")); | |||||
| result.put("floorName", wxShop.get("floor")); | |||||
| result.put("buildingName", wxShop.get("building")); | |||||
| result.put("buildArea", wxShop.get("buildArea")); | |||||
| result.put("operationArea", wxShop.get("operationArea")); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| //MALL信息 | //MALL信息 | ||||
| @@ -2200,10 +2180,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 +2413,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) { | ||||
| @@ -2544,7 +2524,8 @@ 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 shopName = ""; | |||||
| //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(); | ||||
| @@ -2562,17 +2543,21 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| if (wxShop == null) { | if (wxShop == null) { | ||||
| return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); | return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); | ||||
| } | } | ||||
| shopList.add(shopId); | |||||
| if (!shopList.contains(shopId)) { | |||||
| shopList.add(shopId); | |||||
| shopName = shopName+","+shopNumber; | |||||
| } | |||||
| } | } | ||||
| } else { | |||||
| shopList.add(record.getShopId()); | |||||
| } | |||||
| //} else { | |||||
| // shopList.add(record.getShopId()); | |||||
| //} | |||||
| try { | try { | ||||
| record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | ||||
| record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | ||||
| Date tempDate = record.getRentalStartDate(); | Date tempDate = record.getRentalStartDate(); | ||||
| record.setRentalStartDate(oldRentStartDate); | record.setRentalStartDate(oldRentStartDate); | ||||
| record.setShopName(shopName); | |||||
| wxRentContractMapper.insert(record); | wxRentContractMapper.insert(record); | ||||
| record.setRentalStartDate(tempDate); | record.setRentalStartDate(tempDate); | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -2581,14 +2566,15 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| } | } | ||||
| //生成预览账单(补录第二步,第三步走编辑) | //生成预览账单(补录第二步,第三步走编辑) | ||||
| 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); | ||||
| } | } | ||||
| @@ -2614,7 +2600,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); | |||||
| } | } | ||||
| } | } | ||||
| @@ -2670,7 +2656,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(); | ||||
| @@ -2692,21 +2678,21 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); | return new ResultData(ErrorCode.SHOP_IS_NOT_FOUND.getCode(), "店铺 " + shopNumber + " 已删除"); | ||||
| } | } | ||||
| } | } | ||||
| } 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.SIGNED_RENT_UNPAID.getCode()) | |||||
| // || rc.get("status").equals(EnumRentContractStatus.RENT_PAID.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.SIGNED_RENT_UNPAID.getCode()) | |||||
| //// || rc.get("status").equals(EnumRentContractStatus.RENT_PAID.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(); | ||||
| @@ -2779,4 +2765,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); | |||||
| // } | |||||
| // } | |||||
| // } | |||||
| } | |||||
| } | } | ||||
| @@ -125,11 +125,11 @@ public class WxShopServiceImpl implements WxShopService { | |||||
| if (isAdmin.equals(EnumUserAdmin.ADMIN.getCode())) { | if (isAdmin.equals(EnumUserAdmin.ADMIN.getCode())) { | ||||
| //3、合同 两种 都要查一下 存在时不能删除 | //3、合同 两种 都要查一下 存在时不能删除 | ||||
| WxRentContract wxRentContract = new WxRentContract(); | WxRentContract wxRentContract = new WxRentContract(); | ||||
| wxRentContract.setShopId(wxShop.getId()); | |||||
| //wxRentContract.setShopId(wxShop.getId()); | |||||
| wxRentContract.updateTenantInfo(wxShop); | wxRentContract.updateTenantInfo(wxShop); | ||||
| long count = 0; | long count = 0; | ||||
| if (wxShop.getType().equals(EnumRentShopType.SHOP.getCode())) { | if (wxShop.getType().equals(EnumRentShopType.SHOP.getCode())) { | ||||
| count = wxRentContractMapper.selectRentContractByShopId(wxRentContract).parallelStream() | |||||
| count = wxRentContractMapper.selectRentContractByShopId(wxRentContract.getTenantId(),wxRentContract.getParentTenantId(),wxShop.getId(),null).parallelStream() | |||||
| // .filter(r -> !r.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) && | // .filter(r -> !r.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) && | ||||
| // !r.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) && | // !r.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) && | ||||
| // !r.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); | // !r.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); | ||||
| @@ -549,21 +549,21 @@ public class InvestBizServiceImpl implements InvestBizService { | |||||
| //2、目标信息 | //2、目标信息 | ||||
| Collection<WxShop> shops = shopService.getByIds(getIds(taskList, InvestTaskEntity::getTargetId)); | Collection<WxShop> shops = shopService.getByIds(getIds(taskList, InvestTaskEntity::getTargetId)); | ||||
| //3、商品合同信息 | //3、商品合同信息 | ||||
| Map<Long, WxRentContract> shopContractMap = new HashMap<>(); | |||||
| if (CollectionUtils.isNotEmpty(shops)) { | |||||
| Collection<Long> shopPointIds = buildShopContractQuery(shops, EnumRentShopType.POINT); | |||||
| Collection<Long> shopIds = buildShopContractQuery(shops, EnumRentShopType.SHOP); | |||||
| shopContractMap = rentContractService.selectRentContractByShopIds(shopPointIds, | |||||
| StringUtils.join(shopIds, "|"), | |||||
| InvestUserContext.getUser()); | |||||
| } | |||||
| for (WxShop shop : shops) { | |||||
| WxRentContract contract = shopContractMap.get(shop.getId()); | |||||
| if (Objects.nonNull(contract)) { | |||||
| shop.setStartdate(contract.getRentalStartDate()); | |||||
| shop.setEnddate(contract.getRentalEndDate()); | |||||
| } | |||||
| } | |||||
| // Map<Long, WxRentContract> shopContractMap = new HashMap<>(); | |||||
| // if (CollectionUtils.isNotEmpty(shops)) { | |||||
| // Collection<Long> shopPointIds = buildShopContractQuery(shops, EnumRentShopType.POINT); | |||||
| // Collection<Long> shopIds = buildShopContractQuery(shops, EnumRentShopType.SHOP); | |||||
| // shopContractMap = rentContractService.selectRentContractByShopIds(shopPointIds, | |||||
| // StringUtils.join(shopIds, "|"), | |||||
| // InvestUserContext.getUser()); | |||||
| // } | |||||
| // for (WxShop shop : shops) { | |||||
| // WxRentContract contract = shopContractMap.get(shop.getId()); | |||||
| // if (Objects.nonNull(contract)) { | |||||
| // shop.setStartdate(contract.getRentalStartDate()); | |||||
| // shop.setEnddate(contract.getRentalEndDate()); | |||||
| // } | |||||
| // } | |||||
| Map<Long, WxShop> shopsMap = getMap(shops, WxShop::getId); | Map<Long, WxShop> shopsMap = getMap(shops, WxShop::getId); | ||||
| //4、用户信息 | //4、用户信息 | ||||
| @@ -765,18 +765,19 @@ public class InvestBizServiceImpl implements InvestBizService { | |||||
| @Override | @Override | ||||
| public Map<String, Object> shopRentInfo(Long shopId) { | public Map<String, Object> shopRentInfo(Long shopId) { | ||||
| WxShop shop = shopService.getById(shopId); | |||||
| InvestHelper.notNull(shop, "shop 不存在"); | |||||
| //3、商品合同信息 | |||||
| Map<Long, WxRentContract> shopContractMap = rentContractService.selectRentContractByShopIds(Arrays.asList(shop.getId()), | |||||
| StringUtils.join(shop.getId()), | |||||
| InvestUserContext.getUser()); | |||||
| WxRentContract contract = shopContractMap.get(shop.getId()); | |||||
| InvestHelper.notNull(contract, "合同信息不存在"); | |||||
| Map<String, Object> map = new HashMap<>(); | |||||
| map.put("startdate", contract.getRentalStartDate()); | |||||
| map.put("enddate", contract.getRentalEndDate()); | |||||
| return map; | |||||
| // WxShop shop = shopService.getById(shopId); | |||||
| // InvestHelper.notNull(shop, "shop 不存在"); | |||||
| // //3、商品合同信息 | |||||
| // Map<Long, WxRentContract> shopContractMap = rentContractService.selectRentContractByShopIds(Arrays.asList(shop.getId()), | |||||
| // StringUtils.join(shop.getId()), | |||||
| // InvestUserContext.getUser()); | |||||
| // WxRentContract contract = shopContractMap.get(shop.getId()); | |||||
| // InvestHelper.notNull(contract, "合同信息不存在"); | |||||
| // Map<String, Object> map = new HashMap<>(); | |||||
| // map.put("startdate", contract.getRentalStartDate()); | |||||
| // map.put("enddate", contract.getRentalEndDate()); | |||||
| // return map; | |||||
| return null; | |||||
| } | } | ||||
| public List<MallUserInfo> queryUserList(EnumInvestUserType userType) { | public List<MallUserInfo> queryUserList(EnumInvestUserType userType) { | ||||
| @@ -921,9 +922,10 @@ public class InvestBizServiceImpl implements InvestBizService { | |||||
| if (Objects.isNull(shop)) { | if (Objects.isNull(shop)) { | ||||
| return new HashMap<>(); | return new HashMap<>(); | ||||
| } | } | ||||
| return rentContractService.selectRentContractByShopIds(Arrays.asList(shop.getId()), | |||||
| StringUtils.join(shop.getId(), ""), | |||||
| InvestUserContext.getUser()); | |||||
| // return rentContractService.selectRentContractByShopIds(Arrays.asList(shop.getId()), | |||||
| // StringUtils.join(shop.getId(), ""), | |||||
| // InvestUserContext.getUser()); | |||||
| return new HashMap<>(); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -1131,7 +1133,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); | ||||
| @@ -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 <now() | select count(id) from wx_rent_contract where status!=0 and status!=1 and status!=6 and status!=7 and rental_end_date <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()) <= 30 and rental_end_date > now() | and DATEDIFF(rental_end_date,now()) <= 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 <= now() and rental_end_date >= now() | and rental_start_date <= 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 <now() | and rental_end_date <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} | ||||
| @@ -444,7 +450,7 @@ | |||||
| <if test=" null != status ">and status=#{status} and status!=7</if> | <if test=" null != status ">and status=#{status} and status!=7</if> | ||||
| </select> | </select> | ||||
| <update id="updateInvalidContract" parameterType="com.iformall.domain.po.WxRentContract"> | |||||
| <!-- <update id="updateInvalidContract" parameterType="com.iformall.domain.po.WxRentContract"> | |||||
| update wx_rent_contract set status=#{status} | update wx_rent_contract set status=#{status} | ||||
| where 1=1 | where 1=1 | ||||
| <if test=" null != tenantId and '' != tenantId"> | <if test=" null != tenantId and '' != tenantId"> | ||||
| @@ -456,18 +462,18 @@ | |||||
| and id in(select r.id from ( | and id in(select r.id from ( | ||||
| select id from wx_rent_contract where json_contains(json_extract(rent_info,'$[*].shopId'),concat('"',${shopId},'"')) | select id from wx_rent_contract where json_contains(json_extract(rent_info,'$[*].shopId'),concat('"',${shopId},'"')) | ||||
| and rent_shop_type=1 and status in(0,1) and status!=7)r) | and rent_shop_type=1 and status in(0,1) and status!=7)r) | ||||
| </update> | |||||
| </update> --> | |||||
| <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,17 +499,17 @@ | |||||
| </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"/> | ||||
| <result column="contract_number" property="contractNumber"/> | <result column="contract_number" property="contractNumber"/> | ||||
| <result column="shop_number" property="shopNumber"/> | |||||
| <result column="shop_name" property="shopName"/> | |||||
| <result column="merchant_name" property="merchantName"/> | <result column="merchant_name" property="merchantName"/> | ||||
| <result column="rent_info" property="rentInfo"/> | <result column="rent_info" property="rentInfo"/> | ||||
| <result column="rental_start_date" property="rentalStartDate"/> | <result column="rental_start_date" property="rentalStartDate"/> | ||||
| @@ -523,14 +529,14 @@ | |||||
| <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,rc.shop_name,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, | ||||
| rc.price_unit as rent_price_unit,pc.price_unit as property_price_unit, | rc.price_unit as rent_price_unit,pc.price_unit as property_price_unit, | ||||
| rc.business_type businessType,rc.bus_discount_ratio,rc.bus_discount_time | rc.business_type businessType,rc.bus_discount_ratio,rc.bus_discount_time | ||||
| from wx_rent_contract rc left join wx_property_contract pc on rc.id=pc.rent_contract_id | from wx_rent_contract rc left join wx_property_contract pc on rc.id=pc.rent_contract_id | ||||
| left join wx_shop s on rc.shop_id=s.id | |||||
| <where> | <where> | ||||
| <if test=" null != tenantId and '' != tenantId"> | <if test=" null != tenantId and '' != tenantId"> | ||||
| and rc.`tenant_id` = #{tenantId} | and rc.`tenant_id` = #{tenantId} | ||||
| @@ -541,13 +547,15 @@ | |||||
| <if test=" null != merchantName and merchantName!=''">and rc.`merchant_name` like | <if test=" null != merchantName and merchantName!=''">and rc.`merchant_name` like | ||||
| concat('%',#{merchantName},'%') | concat('%',#{merchantName},'%') | ||||
| </if> | </if> | ||||
| <if test=" null != shopNumber and shopNumber!='' and null != rentShopType and rentShopType==1"> | |||||
| <if test=" null != shopNumber and shopNumber!=''"> | |||||
| and (json_extract(rc.rent_info,'$[*].shopNumber') like concat('%',#{shopNumber},'%') or rc.shop_name like concat('%',#{shopNumber},'%') ) | |||||
| </if> | |||||
| <!-- <if test=" null != shopNumber and shopNumber!='' and null != rentShopType and rentShopType==1"> | |||||
| and json_extract(rc.rent_info,'$[*].shopNumber') like concat('%',#{shopNumber},'%') | and json_extract(rc.rent_info,'$[*].shopNumber') like concat('%',#{shopNumber},'%') | ||||
| </if> | </if> | ||||
| <if test=" null != shopNumber and shopNumber!='' and null != rentShopType and rentShopType==2"> | <if test=" null != shopNumber and shopNumber!='' and null != rentShopType and rentShopType==2"> | ||||
| and s.`shop_number` like concat('%',#{shopNumber},'%') | and s.`shop_number` like concat('%',#{shopNumber},'%') | ||||
| </if> | |||||
| </if> --> | |||||
| <if test=" null != status ">and rc.`status` = #{status}</if> | <if test=" null != status ">and rc.`status` = #{status}</if> | ||||
| <if test=" null != type ">and rc.`type` = #{type}</if> | <if test=" null != type ">and rc.`type` = #{type}</if> | ||||
| <if test=" null != rentShopType "> | <if test=" null != rentShopType "> | ||||
| @@ -594,10 +602,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 +622,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 +640,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 +658,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 | ||||
| @@ -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> | |||||