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 1af62e28b..eb727a185 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -464,10 +464,6 @@ public class WxMerchantServiceImpl implements WxMerchantService { //如果原来店铺在商户里面有有效的合同,则不能操作 List oldShopIds = wxMerchantShopMapper.findShopIds(wxMerchant.getId()); if (null != oldShopIds && oldShopIds.size() > 0) { - if(null != shopIds) { - //去重 - oldShopIds.removeAll(shopIds); - } for (Long osid : oldShopIds) { WxRentContract wrc = new WxRentContract(); wrc.setMerchantId(wxMerchant.getId()); @@ -487,21 +483,25 @@ public class WxMerchantServiceImpl implements WxMerchantService { } wxMerchantShopMapper.realDelByMerchantId(wxMerchant.getId()); if (null != shopIds) { + List currSIds = new ArrayList(); for (Long sid: shopIds) { - WxMerchantShop mcs = new WxMerchantShop(); - mcs.setMerchantId(wxMerchant.getId()); - mcs.setShopId(sid); - mcs.setIsDel(EnumDelStatus.NOT_DEL.getCode()); - mcs.setId(idWorker.nextId()); - mcs.updateTenantInfo(wxMerchant); - Date shopdate = new Date(); - mcs.setUpdateDate(shopdate); - mcs.setCreateDate(shopdate); - wxMerchantShopMapper.insert(mcs); - //更新商铺状态 - WxShop sh = wxShopMapper.selectById(sid); - sh.setStatus(EnumShopStatus.RENT.getCode()); - wxShopMapper.updateById(sh); + if (!currSIds.contains(sid)) { + WxMerchantShop mcs = new WxMerchantShop(); + mcs.setMerchantId(wxMerchant.getId()); + mcs.setShopId(sid); + mcs.setIsDel(EnumDelStatus.NOT_DEL.getCode()); + mcs.setId(idWorker.nextId()); + mcs.updateTenantInfo(wxMerchant); + Date shopdate = new Date(); + mcs.setUpdateDate(shopdate); + mcs.setCreateDate(shopdate); + wxMerchantShopMapper.insert(mcs); + //更新商铺状态 + WxShop sh = wxShopMapper.selectById(sid); + sh.setStatus(EnumShopStatus.RENT.getCode()); + wxShopMapper.updateById(sh); + currSIds.add(sid); + } } } return new ResultData(Result.SUCCESS, "商户更新成功");