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 1c9179c8c..4b5d25b67 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -87,6 +87,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Autowired ExcelService excelService; + @Autowired + WxPropertyContractMapper wxPropertyContractMapper; + @Override public PageInfo listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { @@ -254,21 +257,37 @@ public class WxMerchantServiceImpl implements WxMerchantService { wxMerchant.setStatus(EnumMerchantStatus.NOT_VALID.getCode()); wxMerchantMapper.updateByPrimaryKeySelective(wxMerchant); - //解绑商铺 - WxMerchantShop wxMerchantShopQuery = new WxMerchantShop(); - wxMerchantShopQuery.setTenantId(wxMerchant.getTenantId()); - 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.updateByPrimaryKeySelective(wxMerchantShop); - //更新商铺状态 - WxShop wxShop = new WxShop(); - wxShop.setTenantId(wxMerchant.getTenantId()); - wxShop.setId(wxMerchantShop.getShopId()); - wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode()); - wxShopMapper.updateByPrimaryKeySelective(wxShop); + //是否有租赁合同 + WxRentContract wxRentContract = new WxRentContract(); + wxRentContract.setMerchantId(id); + long countRentContract = wxRentContractMapper.select(wxRentContract).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(); + //是否有物业合同 + WxPropertyContract wxPropertyContract = new WxPropertyContract(); + wxPropertyContract.setMerchantId(id); + long countPropertyContract = wxPropertyContractMapper.select(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(); + //解绑商铺-没有租赁合同和物业合同才可以 + if (countRentContract == 0 && countPropertyContract == 0) { + WxMerchantShop wxMerchantShopQuery = new WxMerchantShop(); + wxMerchantShopQuery.setTenantId(wxMerchant.getTenantId()); + 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.updateByPrimaryKeySelective(wxMerchantShop); + //更新商铺状态 + WxShop wxShop = new WxShop(); + wxShop.setTenantId(wxMerchant.getTenantId()); + wxShop.setId(wxMerchantShop.getShopId()); + wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode()); + wxShopMapper.updateByPrimaryKeySelective(wxShop); + } } //解绑用户 WxMerchantBUser bUser = new WxMerchantBUser();