From f7de432486b0d02d551f47eae0eb67b3591ff97a Mon Sep 17 00:00:00 2001 From: winter Date: Mon, 30 Sep 2024 12:33:45 +0800 Subject: [PATCH] fix --- .../com/iformall/domain/po/WxMerchant.java | 2 + .../service/impl/WxShopServiceImpl.java | 41 +++++++++++++++++-- .../resources/mapper/WxMerchantMapper.xml | 7 ++++ 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index b1dade1bd..1a99c3da9 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -504,4 +504,6 @@ public class WxMerchant extends TenantEntity { public Integer isAll; @TableField(exist = false) private List privateRentShopTypeList; + @TableField(exist = false) + private List createShopNumberList; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java index 557c29d94..316f2c134 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java @@ -231,9 +231,8 @@ public class WxShopServiceImpl implements WxShopService { merchantShopQ.setShopIdList(record.getIds()); merchantShopQ.setIsDel(0); List merchantShopList = wxMerchantShopMapper.findList(merchantShopQ); + List merchantIds = new ArrayList(); if (null != merchantShopList && merchantShopList.size() > 0) { - List merchantIds = new ArrayList(); - for (int i = 0 ;i < merchantShopList.size() ; i ++) { WxMerchantShop ms = merchantShopList.get(i); if (null != ms ) { @@ -245,8 +244,44 @@ public class WxShopServiceImpl implements WxShopService { } } } - merchantMap = getMerchantMap(record,merchantIds,merchantMap); } + //还得查一下虚拟商户,如果店铺既有品牌商户关联,又有虚拟商户,则取虚拟商户。因为这种情况代表的是已售铺创建的品牌,不能创建合同,智能做营销。 + WxShop sq = new WxShop(); + sq.setId(record.getId()); + sq.setIds(record.getIds()); + sq.setIsDel(EnumYesOrNo.NO.getCode()); + List shopList = wxShopMapper.findList(sq); + if (null != shopList && shopList.size() > 0 ) { + Map shopNumberMap = new HashMap(); + List shopNumberList = new ArrayList(); + for (int i = 0 ; i < shopList.size() ; i ++ ) { + WxShop s = shopList.get(i); + shopNumberMap.put(s.getShopNumber(), s.getId()); + shopNumberList.add(s.getShopNumber()); + } + + WxMerchant mq = new WxMerchant(); + mq.updateTenantInfo(record); + sq.setIsDel(EnumYesOrNo.NO.getCode()); + mq.setCreateShopNumberList(shopNumberList); + List mlist = wxMerchantMapper.findList(mq); + if (null != mlist && mlist.size() > 0) { + for (int i = 0 ; i < mlist.size() ; i ++ ) { + WxMerchant m = mlist.get(i); + String createshopNumber = m.getCreateShopNumber(); + if (StringUtils.isNotBlank(createshopNumber)) { + Long shopId = shopNumberMap.get(createshopNumber); + if (null != shopId) { + shopMerchantIdMap.put(shopId, m.getId()); + } + } + if (!merchantIds.contains(m.getId())) { + merchantIds.add(m.getId()); + } + } + } + } + merchantMap = getMerchantMap(record,merchantIds,merchantMap); } @Override diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index 780733edd..30ff781ba 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -198,6 +198,13 @@ + + and m.`create_shop_number` in + + #{csItem} + + + and m.`is_admin` in