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 1/4] =?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); } } } From 0db7853454b2c3c59fc8e628356dc0cbd4108810 Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 11 Aug 2020 10:14:22 +0800 Subject: [PATCH 2/4] url --- .../java/com/iformall/controller/WxUserGrantController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index a340ea9b3..9a8b8a205 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -172,8 +172,12 @@ public class WxUserGrantController extends BaseController { WxMall wxMall = mallService.getById(Long.valueOf(wxAuthorizerInfo.getTenantId())); // 集团版,获取子集团list List mallList = null; + if(StringUtils.isNotBlank(wxMall.getParentTenantId())){ + mallList = mallService.getSubByParentTenantId(wxMall.getParentTenantId()); + resultMap.put("subMalls", JSON.toJSONString(mallList)); + } if (wxAuthorizerInfo.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode())) { - mallList = mallService.getSubByParentTenantId(wxAuthorizerInfo.getTenantId()); + mallList = mallService.getSubByParentTenantId(wxMall.getTenantId()); resultMap.put("subMalls", JSON.toJSONString(mallList)); } From 2c91560064eee66606e5a082177f5cd44106832a Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 11 Aug 2020 10:55:59 +0800 Subject: [PATCH 3/4] url --- .../main/java/com/iformall/controller/WxUserGrantController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 9a8b8a205..8b5b6f0b7 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -170,6 +170,7 @@ public class WxUserGrantController extends BaseController { } WxMall wxMall = mallService.getById(Long.valueOf(wxAuthorizerInfo.getTenantId())); + resultMap.put("selectedMall", wxMall.getTenantId()); // 集团版,获取子集团list List mallList = null; if(StringUtils.isNotBlank(wxMall.getParentTenantId())){ From 52cd5ed64019c0649a75cc245f0f2deba29d04ce Mon Sep 17 00:00:00 2001 From: xhxu Date: Tue, 11 Aug 2020 11:05:21 +0800 Subject: [PATCH 4/4] login --- .../controller/WxUserGrantController.java | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 8b5b6f0b7..e772490f1 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -280,27 +280,27 @@ public class WxUserGrantController extends BaseController { } // 老用户,给出来已选中的mall - if (mallList != null) { - WxMall selectedMall = null; - if (StringUtils.isNotBlank(oldUser.getParentTenantId())) { - final String lastSubTenant = oldUser.getTenantId(); - List selMallList = mallList.stream().filter(ml -> ml.getTenantId().equalsIgnoreCase(lastSubTenant)).collect(Collectors.toList()); - if (selMallList.size() > 0) { - selectedMall = selMallList.get(0); - } - } - if (selectedMall == null){ - WxMall firstMall = mallList.get(0); - if (firstMall != null) { - selectedMall = firstMall; - } - } - if (selectedMall != null) { - request.setAttribute(Constant.TENANT_ID, selectedMall.getTenantId()); - resultMap.put("selectedMall", selectedMall.getTenantId()); -// oldUser.setParentTenantId(selectedMall.getParentTenantId()); - } - } +// if (mallList != null) { +// WxMall selectedMall = null; +// if (StringUtils.isNotBlank(oldUser.getParentTenantId())) { +// final String lastSubTenant = oldUser.getTenantId(); +// List selMallList = mallList.stream().filter(ml -> ml.getTenantId().equalsIgnoreCase(lastSubTenant)).collect(Collectors.toList()); +// if (selMallList.size() > 0) { +// selectedMall = selMallList.get(0); +// } +// } +// if (selectedMall == null){ +// WxMall firstMall = mallList.get(0); +// if (firstMall != null) { +// selectedMall = firstMall; +// } +// } +// if (selectedMall != null) { +// request.setAttribute(Constant.TENANT_ID, selectedMall.getTenantId()); +// resultMap.put("selectedMall", selectedMall.getTenantId()); +//// oldUser.setParentTenantId(selectedMall.getParentTenantId()); +// } +// } oldUser.setRegisterIp(ipaddress); oldUser.setSessionKey(session_key); @@ -379,15 +379,15 @@ public class WxUserGrantController extends BaseController { if(StringUtils.isNotBlank(newUser.getParentTenantId())){ request.setAttribute(Constant.PARENT_TENANT_ID, newUser.getParentTenantId()); } - if (mallList != null) { - WxMall firstMall = mallList.get(0); - if (firstMall != null) { - // 默认选中第一个mall, 或者经纬度最近的那个 - request.setAttribute(Constant.TENANT_ID, firstMall.getTenantId()); - resultMap.put("selectedMall", firstMall.getTenantId()); - newUser.setParentTenantId(firstMall.getTenantId()); - } - } +// if (mallList != null) { +// WxMall firstMall = mallList.get(0); +// if (firstMall != null) { +// // 默认选中第一个mall, 或者经纬度最近的那个 +// request.setAttribute(Constant.TENANT_ID, firstMall.getTenantId()); +// resultMap.put("selectedMall", firstMall.getTenantId()); +// newUser.setParentTenantId(firstMall.getTenantId()); +// } +// } // 登录后处理 int score = wxCUserService.actionAfterLogin(newUser, null);