| @@ -87,6 +87,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||
| @Autowired | |||
| ExcelService excelService; | |||
| @Autowired | |||
| WxPropertyContractMapper wxPropertyContractMapper; | |||
| @Override | |||
| public PageInfo<WxMerchant> 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<WxMerchantShop> 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<WxMerchantShop> 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(); | |||