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

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

release_toaliyun_real
xhxu 5 лет назад
Родитель
Сommit
e03cddbb7d
5 измененных файлов: 69 добавлений и 29 удалений
  1. +11
    -12
      mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java
  2. +1
    -0
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  3. +53
    -14
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  4. +3
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java
  5. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java

+ 11
- 12
mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java Просмотреть файл

@@ -7,6 +7,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.mapper.WxMallMapper;
import com.iformall.service.WxPropertyContractService;
import com.iformall.service.WxRentContractService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,11 +19,11 @@ import java.util.List;
/**
* @author gongbiao
*/

@Slf4j
@Component
public class ContractSchedule {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxRentContractService wxRentContractService;

@@ -36,27 +37,25 @@ public class ContractSchedule {
/**
* 2小时执行一次
*/
@Scheduled(cron = "0 */1 * * * ?")
public void sendMsg() {
logger.info("合同状态更新开始");

@Scheduled(cron = "0 0 0/2 * * ?")
public void updateContractStatus() {
log.info("合同状态更新开始");
List<WxMall> wxMalls = wxMallMapper.findList(null);
for (WxMall wxMall : wxMalls) {
TenantEntity tenantEntity = wxMall.getTenantInfo();
WxRentContract wxRentContract = new WxRentContract();
wxRentContract.updateTenantInfo(tenantEntity);
logger.info("租赁合同状态更新开始");
log.info("租赁合同状态更新开始");
wxRentContractService.updateStatus(wxRentContract);
logger.info("租赁合同状态更新结束");
log.info("租赁合同状态更新结束");

WxPropertyContract wxPropertyContract = new WxPropertyContract();
wxPropertyContract.updateTenantInfo(tenantEntity);
logger.info("物业合同状态更新开始");
log.info("物业合同状态更新开始");
wxPropertyContractService.updateStatus(wxPropertyContract);
logger.info("物业合同状态更新结束");
log.info("物业合同状态更新结束");
}
logger.info("合同状态更新结束");

log.info("合同状态更新结束");
}



+ 1
- 0
mallinkService/src/main/java/com/iformall/service/WxMerchantService.java Просмотреть файл

@@ -149,4 +149,5 @@ public interface WxMerchantService {

List<WxMerchant> getMerchantList(WxMerchant wxMerchant);

void disableMerchat(Long id);
}

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

@@ -251,27 +251,24 @@ public class WxMerchantServiceImpl implements WxMerchantService {
logger.info("不能停用停车商户");
return;
}

wxMerchant.setStatus(EnumMerchantStatus.NOT_VALID.getCode());
wxMerchantMapper.updateById(wxMerchant);
//是否有租赁合同
//查询该商户下是否有计租中和已签约未计租类型的合同
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()) ||
// c.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count();
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();

//是否有物业合同
WxPropertyContract wxPropertyContract = new WxPropertyContract();
wxPropertyContract.setMerchantId(id);
long countPropertyContract = wxPropertyContractMapper.selectList(new QueryWrapper<>(wxPropertyContract)).parallelStream().
// filter(c -> c.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) ||
// c.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) ||
// c.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count();
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();
//商户状态停用-没有租赁合同和物业合同才允许停用
if (countRentContract == 0 || countPropertyContract == 0){
wxMerchant.setStatus(EnumMerchantStatus.NOT_VALID.getCode());
wxMerchantMapper.updateById(wxMerchant);
}
//解绑商铺-没有租赁合同或物业合同才可以
if (countRentContract == 0 || countPropertyContract == 0) {
WxMerchantShop wxMerchantShopQuery = new WxMerchantShop();
@@ -813,4 +810,46 @@ public class WxMerchantServiceImpl implements WxMerchantService {
public List<WxMerchant> getMerchantList(WxMerchant wxMerchant) {
return wxMerchantMapper.getMerchantList(wxMerchant);
}

@Override
public void disableMerchat(Long id) {
WxMerchant wxMerchant = wxMerchantMapper.selectById(id);
if (wxMerchant != null){
//查询该商户下是否有计租中和已签约未计租类型的合同
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();

//是否有物业合同
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();
//没有租赁合同和物业合同才允许停用商户和解绑商铺
if (countRentContract == 0 || countPropertyContract == 0){
//停用商户
wxMerchant.setStatus(EnumMerchantStatus.NOT_VALID.getCode());
wxMerchantMapper.updateById(wxMerchant);
//解绑商铺
WxMerchantShop wxMerchantShopQuery = new WxMerchantShop();
wxMerchantShopQuery.updateTenantInfo(wxMerchant);
wxMerchantShopQuery.setMerchantId(wxMerchant.getId());
wxMerchantShopQuery.setIsDel(EnumDelStatus.NOT_DEL.getCode());
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShopQuery);
for (WxMerchantShop wxMerchantShop : wxMerchantShopList) {
wxMerchantShop.setIsDel(EnumDelStatus.DEL.getCode());
wxMerchantShopMapper.updateById(wxMerchantShop);
//更新商铺状态
WxShop wxShop = new WxShop();
wxShop.updateTenantInfo(wxMerchant);
wxShop.setId(wxMerchantShop.getShopId());
wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode());
wxShopMapper.updateById(wxShop);
}
}
}
}
}

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

@@ -423,8 +423,9 @@ public class WxPayOrderServiceImpl implements WxPayOrderService {

// 2. check 是否有支付订单
Date currentDate = new Date();
record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode());
List<WxPayOrder> list = wxPayOrderMapper.findList(record);
WxPayOrder pq = new WxPayOrder();
pq.setOrderId(pq.getOrderId());
List<WxPayOrder> list = wxPayOrderMapper.findList(pq);
String payOrderNo = "";
if (list.size() <= 0) {
// 3. 创建支付订单


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

@@ -1593,7 +1593,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
WxMerchant merchant = wxMerchantMapper.selectById((Long) merchantId);
Integer status = merchant.getStatus();
if (status.equals(EnumMerchantStatus.VALID.getCode())) {
wxMerchantService.disable((Long) merchantId);
wxMerchantService.disableMerchat((Long) merchantId);
}
}
}


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