Просмотр исходного кода

Merge branch 'release_real_202008' of https://git.malls.iformall.com/server/formallProject into release_real_202008

release_toaliyun_real
xhxu 5 лет назад
Родитель
Сommit
3a1a3abbba
10 измененных файлов: 58 добавлений и 46 удалений
  1. +1
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java
  2. +20
    -12
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  3. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java
  4. +9
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumRentContractStatus.java
  5. +8
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  6. +2
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java
  7. +3
    -11
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  8. +2
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java
  9. +8
    -4
      mallinkService/src/main/java/com/iformall/service/invest/event/InvestListener.java
  10. +1
    -1
      mallinkService/src/main/resources/mapper/WxRentContractMapper.xml

+ 1
- 0
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java Просмотреть файл

@@ -205,6 +205,7 @@ public class WxPropertyContractController extends WxContractBaseController {
if(propertyContractHasWorkFlow(contract)) {
return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"租赁合同存在工作流,不允许直接生效。");
}
if(contract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) {
if (contract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) {
contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.PROPERTY, contract.getRemark(), contract.getId(),null));


+ 20
- 12
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java Просмотреть файл

@@ -240,10 +240,7 @@ public class WxRentContractController extends WxContractBaseController {
return new ResultData(Result.ERROR,"商户未绑定店铺!");
}
WxRentContract rentq = new WxRentContract();
List<Integer> status = new ArrayList<Integer>();
status.add(EnumRentContractStatus.PAING.getCode());
status.add(EnumRentContractStatus.READY_FOR_PAING.getCode());
rentq.setStatuss(status);
rentq.setStatuss(EnumRentContractStatus.getValidStatus());
rentq.updateTenantInfo(getUser());
List<WxRentContract> rentContractList = wxRentContractService.findList(rentq);
List<Long> rentShopList = new ArrayList<Long>();
@@ -300,10 +297,7 @@ public class WxRentContractController extends WxContractBaseController {
public ResultData getRentContractList(@ModelAttribute WxRentContract wxRentContract) {
logger.debug("[" + getIpAddr() + "] WxRentContractController::getRentContractList");
wxRentContract.updateTenantInfo(getTenantInfo());
List<Integer> statuss = new ArrayList<Integer>();
statuss.add(EnumRentContractStatus.PAING.getCode());
statuss.add(EnumRentContractStatus.OUT_DATE.getCode());
wxRentContract.setStatuss(statuss);
wxRentContract.setStatuss(EnumRentContractStatus.getValidStatus());
wxRentContract.setSortColumn(BaseEntity.SortField.Createtime_DESC.getValue());
PageInfo<WxRentContract> page = wxRentContractService.getRentContractList(wxRentContract, 1, 100000);
if (null != page && null != page.getList()) {
@@ -443,6 +437,23 @@ public class WxRentContractController extends WxContractBaseController {
if(rentContractHasWorkFlow(rentContract)) {
return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"租赁合同存在工作流,不允许直接生效。");
}
//判断是否该合同的时间和有效的合同是否冲突
List<Long> shopIds = rentContract.shopIdsByRentInfo();
for (Long sid: shopIds) {
WxRentContract rcq = new WxRentContract();
rcq.setStatuss(EnumRentContractStatus.getValidStatus());
rcq.setQueryShopId(sid);
List<WxRentContract> crcs = wxRentContractService.findList(rcq);
if (null != crcs) {
for (WxRentContract crc : crcs) {
if((rentContract.getRentalEndDate().before(crc.getRentalStartDate()) && rentContract.getRentalStartDate().after(new Date())) ||
rentContract.getRentalStartDate().after(crc.getRentalEndDate())) {
}else {
return new ResultData(Result.ERROR,"店铺["+sid+"]的计租时间区间与合同["+crc.getContractNumber()+"]有冲突。");
}
}
}
}
if(rentContract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) {
if (rentContract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) {
@@ -470,10 +481,7 @@ public class WxRentContractController extends WxContractBaseController {
if (null == wxRentContract) wxRentContract = new WxRentContract();
wxRentContract.updateTenantInfo(getTenantInfo());
if (1 == validStatus) {
List<Integer> statuss = new ArrayList<Integer>();
statuss.add(EnumRentContractStatus.PAING.getCode());
statuss.add(EnumRentContractStatus.READY_FOR_PAING.getCode());
wxRentContract.setStatuss(statuss);
wxRentContract.setStatuss(EnumRentContractStatus.getValidStatus());
}
return new ResultData(wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize));
}


+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java Просмотреть файл

@@ -246,6 +246,10 @@ public class WxRentContract extends TenantEntity {

@io.swagger.annotations.ApiModelProperty(value = "联营扣点-时间范围 1年2月3周期", name = "busDiscountTime")
private Integer busDiscountTime;
@io.swagger.annotations.ApiModelProperty(value = "查询店铺", name = "queryShopId")
@TableField(exist = false)
private Long queryShopId;

public void setAdjustPeriodHandle() {
if(EnumPriceUnit.D.getCode().equals(this.getPriceUnit()) && EnumRentContractAdjustPeriod.ADJUST_PERIOD_MONTH.getCode().equals(adjustPeriod)){


+ 9
- 0
mallinkService/src/main/java/com/iformall/enums/EnumRentContractStatus.java Просмотреть файл

@@ -1,5 +1,7 @@
package com.iformall.enums;

import java.util.ArrayList;
import java.util.List;

/**
* @author gongbiao
@@ -53,4 +55,11 @@ public enum EnumRentContractStatus {
public String getMessage() {
return message;
}
public static List<Integer> getValidStatus() {
List<Integer> retList = new ArrayList<Integer>();
retList.add(PAING.getCode());
retList.add(READY_FOR_PAING.getCode());
return retList;
}
}

+ 8
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -266,15 +266,13 @@ public class WxMerchantServiceImpl implements WxMerchantService {
WxRentContract wxRentContract = new WxRentContract();
wxRentContract.setMerchantId(id);
long countRentContract = wxRentContractMapper.selectList(new QueryWrapper<>(wxRentContract)).parallelStream().
filter(c -> c.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) ||
c.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();
filter(c -> EnumRentContractStatus.getValidStatus().contains(c.getStatus())).count();

//是否有物业合同
WxPropertyContract wxPropertyContract = new WxPropertyContract();
wxPropertyContract.setMerchantId(id);
long countPropertyContract = wxPropertyContractMapper.selectList(new QueryWrapper<>(wxPropertyContract)).parallelStream().
filter(c -> c.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) ||
c.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();
filter(c -> EnumRentContractStatus.getValidStatus().contains(c.getStatus())).count();
//商户状态停用-没有租赁合同和物业合同才允许停用
if (countRentContract == 0 || countPropertyContract == 0){
wxMerchant.setStatus(EnumMerchantStatus.NOT_VALID.getCode());
@@ -832,15 +830,16 @@ public class WxMerchantServiceImpl implements WxMerchantService {
WxRentContract wxRentContract = new WxRentContract();
wxRentContract.setMerchantId(id);
long countRentContract = wxRentContractMapper.selectList(new QueryWrapper<>(wxRentContract)).parallelStream().
filter(c -> c.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) ||
c.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();

// filter(c -> c.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) ||
// c.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();
filter(c -> EnumRentContractStatus.getValidStatus().contains(c.getStatus())).count();
//是否有物业合同
WxPropertyContract wxPropertyContract = new WxPropertyContract();
wxPropertyContract.setMerchantId(id);
long countPropertyContract = wxPropertyContractMapper.selectList(new QueryWrapper<>(wxPropertyContract)).parallelStream().
filter(c -> c.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) ||
c.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();
filter(c -> EnumRentContractStatus.getValidStatus().contains(c.getStatus())).count();
//没有租赁合同和物业合同才允许停用商户和解绑商铺
if (countRentContract == 0 || countPropertyContract == 0){
//停用商户


+ 2
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java Просмотреть файл

@@ -950,8 +950,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
// propertyContract.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) ||
// propertyContract.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count();
long count = select.stream().filter(propertyContract -> propertyContract.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) ||
propertyContract.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();
long count = select.stream().filter(propertyContract -> EnumRentContractStatus.getValidStatus().contains(propertyContract.getStatus())).count();
if (count > 0) {
return new ResultData(true);
}
@@ -1125,9 +1124,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
public void outDateContract(WxMall wxMall) {
//查询有计租合同的商户
WxPropertyContract wr = new WxPropertyContract();
List<Integer> statuss = new ArrayList<Integer>();
statuss.add(EnumRentContractStatus.PAING.getCode());
wr.setStatuss(statuss);
wr.setStatuss(EnumRentContractStatus.getValidStatus());
List<WxPropertyContract> contractList = wxPropertyContractMapper.findList(wr);
for (WxPropertyContract contract: contractList) {
try {


+ 3
- 11
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java Просмотреть файл

@@ -1497,10 +1497,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
wxRentContract.updateTenantInfo(wxRentContract);
wxPropertyContract.setRentContractId(wxRentContract.getId());
//终止有效的合同
List<Integer> validstatuss = new ArrayList<Integer>();
validstatuss.add(EnumRentContractStatus.PAING.getCode());
validstatuss.add(EnumRentContractStatus.READY_FOR_PAING.getCode());
wxPropertyContract.setStatuss(validstatuss);
wxPropertyContract.setStatuss(EnumRentContractStatus.getValidStatus());
wxPropertyContract.setUpdatetime(new Date());
wxPropertyContract.setStatus(EnumRentContractStatus.TERMINATE.getCode());
wxPropertyContractMapper.endContract(wxRentContract);
@@ -2502,9 +2499,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
public void outDateContract(WxMall wxMall) {
//查询有计租合同的商户
WxRentContract wr = new WxRentContract();
List<Integer> statuss = new ArrayList<Integer>();
statuss.add(EnumRentContractStatus.PAING.getCode());
wr.setStatuss(statuss);
wr.setStatuss(EnumRentContractStatus.getValidStatus());
List<Long> merchantIds = wxRentContractMapper.getMerchantIdsByStatuss(wr);
for (Long mid: merchantIds) {
try {
@@ -2561,10 +2556,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
public boolean hasOtherValidContractShop(WxRentContract wxRentContract) {
WxRentContract wrc = new WxRentContract();
wrc.setMerchantId(wxRentContract.getMerchantId());
List<Integer> validstatuss = new ArrayList<Integer>();
validstatuss.add(EnumRentContractStatus.PAING.getCode());
validstatuss.add(EnumRentContractStatus.READY_FOR_PAING.getCode());
wrc.setStatuss(validstatuss);
wrc.setStatuss(EnumRentContractStatus.getValidStatus());
List<WxRentContract> contractList = wxRentContractMapper.findList(wrc);
boolean exists =false;
for (WxRentContract wc : contractList) {


+ 2
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java Просмотреть файл

@@ -133,8 +133,7 @@ public class WxShopServiceImpl implements WxShopService {
// .filter(r -> !r.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) &&
// !r.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) &&
// !r.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count();
.filter(r -> !r.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) &&
!r.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();
.filter(r -> !EnumRentContractStatus.getValidStatus().contains(r.getStatus())).count();
} else {
@@ -142,8 +141,7 @@ public class WxShopServiceImpl implements WxShopService {
// count = list.stream().filter(r -> !r.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) &&
// !r.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) &&
// !r.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count();
count = list.stream().filter(r -> !r.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) &&
!r.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count();
count = list.stream().filter(r -> EnumRentContractStatus.getValidStatus().contains(r.getStatus())).count();
}
if (count > 0) {
return new ResultData(ErrorCode.SHOP_CONTRACT_HAS_CONNECT);


+ 8
- 4
mallinkService/src/main/java/com/iformall/service/invest/event/InvestListener.java Просмотреть файл

@@ -47,11 +47,15 @@ public class InvestListener implements ApplicationListener<InvestEvent> {
//if (Objects.equals(EnumRentContractStatus.INTENTION, rentContractStatus)) {
// status = EnumTaskStatus.INTENTION;
//} else
if (Objects.equals(EnumRentContractStatus.READY_FOR_PAING, rentContractStatus)) {
if (EnumRentContractStatus.getValidStatus().contains(rentContractStatus.getCode())) {
status = EnumTaskStatus.FINISH;
} else if (Objects.equals(EnumRentContractStatus.PAING, rentContractStatus)) {
status = EnumTaskStatus.FINISH;
}
}
//if (Objects.equals(EnumRentContractStatus.READY_FOR_PAING, rentContractStatus)) {
// status = EnumTaskStatus.FINISH;
//} else if (Objects.equals(EnumRentContractStatus.PAING, rentContractStatus)) {
// status = EnumTaskStatus.FINISH;
//}
//else if (Objects.equals(EnumRentContractStatus.CONTRACT_END_SOON, rentContractStatus)) {
// status = EnumTaskStatus.FINISH;
//}


+ 1
- 1
mallinkService/src/main/resources/mapper/WxRentContractMapper.xml Просмотреть файл

@@ -130,7 +130,7 @@
<if test=" null != endDate and '' != endDate">and `end_date` = #{endDate}</if>
<if test=" null != rentShopType and '' != rentShopType">and `rent_shop_type` = #{rentShopType}</if>
<if test=" null != operationType and '' != operationType">and `operation_type` = #{operationType}</if>
<if test=" null != queryShopId and '' != queryShopId">and json_contains(json_extract(rent_info,'$[*].shopId'),concat('"',#{queryShopId},'"'))</if>
<if test=" null != statuss ">
and status in
<foreach collection="statuss" index="index" item="statusItem" open="(" separator="," close=")">


Загрузка…
Отмена
Сохранить