From 6ee6200b001fb994200babf01480875d2bb62346 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Mon, 10 Aug 2020 12:29:43 +0800 Subject: [PATCH 1/2] update --- .../com/iformall/service/impl/WxPayOrderServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index bc06bec6d..d009d82bd 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/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 list = wxPayOrderMapper.findList(record); + WxPayOrder pq = new WxPayOrder(); + pq.setOrderId(pq.getOrderId()); + List list = wxPayOrderMapper.findList(pq); String payOrderNo = ""; if (list.size() <= 0) { // 3. 创建支付订单 From 6aba3260b78b47a264541823e0e38490b05c2093 Mon Sep 17 00:00:00 2001 From: furunxin <864795252@qq.com> Date: Mon, 10 Aug 2020 15:38:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=90=88=E5=90=8C=E7=BB=AD=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/schedule/ContractSchedule.java | 23 +++---- .../iformall/service/WxMerchantService.java | 1 + .../service/impl/WxMerchantServiceImpl.java | 67 +++++++++++++++---- .../impl/WxRentContractServiceImpl.java | 2 +- 4 files changed, 66 insertions(+), 27 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java index bcfac2fca..4c4783126 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/ContractSchedule.java +++ b/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 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("合同状态更新结束"); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index a26410c9b..a0d60e996 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java @@ -149,4 +149,5 @@ public interface WxMerchantService { List getMerchantList(WxMerchant wxMerchant); + void disableMerchat(Long id); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 63eebb808..056ad3e30 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/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 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 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); + } + } + } + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 925d75a71..608a75e48 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/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); } } }