From 325989ce276c94d087a8e302483c716eb1e056e8 Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 25 Feb 2022 00:37:30 +0800 Subject: [PATCH] =?UTF-8?q?/=E3=80=82=20=E5=8D=B7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=95=86=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/WxCouponMerchantMapper.java | 3 +- .../impl/WxCouponOrderServiceImpl.java | 68 ++++++++++++------- .../service/impl/WxCouponServiceImpl.java | 2 +- .../mapper/WxCouponMerchantMapper.xml | 10 ++- 4 files changed, 54 insertions(+), 29 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java index 6a5d04c05..e004b314c 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java @@ -17,7 +17,8 @@ public interface WxCouponMerchantMapper extends CommonMapper findList(WxCouponMerchant wxCouponMerchant); List findMerchantListByProduct(@Param("productId")Long productId,@Param("tenantId")String tenantId); List findMerchantIdListByProduct(@Param("productId")Long productId,@Param("tenantId")String tenantId); - List findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); +// List findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); + List findMerchantProduct(@Param("tenantId")String tenantId,@Param("productIds")List productIds); List findOnlyMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); List findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList,@Param("status")Integer status); List findMerchantByProductIds(@Param("tenantId")String tenantId,@Param("productIds")List productIds); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 1567cb482..8c52f985c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -865,7 +865,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if (null != merchantIdList && merchantIdList.size() > 0 ) { WxMerchant merchantQ = new WxMerchant(); merchantQ.updateTenantInfo(tenantEntity); - merchantQ.setIds(merchantIdList);; +// merchantQ.setIds(merchantIdList); List merchantList = wxMerchantMapper.findIdNameList(merchantQ); if (null != merchantList) { for (int i = 0 ; i < merchantList.size() ; i ++) { @@ -876,6 +876,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } Map couponMap = new HashMap(); + Map merchantProductIdMap = new HashMap(); if (null != couponIdList && couponIdList.size() > 0 ) { WxCoupon couponQ = new WxCoupon(); couponQ.updateTenantInfo(tenantEntity); @@ -887,22 +888,34 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { couponMap.put(c.getId(), c); } } + + List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), couponIdList); + if (null != merchantProductVos) { + for (int i = 0 ; i < merchantProductVos.size(); i ++) { + WxMerchantProductVo mp = merchantProductVos.get(i); + if (mp.getMc() > 1) { + merchantProductIdMap.put(mp.getProductId(), -999L); + }else { + merchantProductIdMap.put(mp.getProductId(), mp.getMerchantId()); + } + } + } } - Map merchantProductIdMap = new HashMap(); - if (null != merchantIdList && merchantIdList.size() > 0 ) { - List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIdList); - if (null != merchantProductVos) { - for (int i = 0 ; i < merchantProductVos.size(); i ++) { - WxMerchantProductVo mp = merchantProductVos.get(i); - if (mp.getMc() > 1) { - merchantProductIdMap.put(mp.getProductId(), -999L); - }else { - merchantProductIdMap.put(mp.getProductId(), mp.getMerchantId()); - } - } - } - } +// Map merchantProductIdMap = new HashMap(); +// if (null != merchantIdList && merchantIdList.size() > 0 ) { +// List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), couponIdList); +// if (null != merchantProductVos) { +// for (int i = 0 ; i < merchantProductVos.size(); i ++) { +// WxMerchantProductVo mp = merchantProductVos.get(i); +// if (mp.getMc() > 1) { +// merchantProductIdMap.put(mp.getProductId(), -999L); +// }else { +// merchantProductIdMap.put(mp.getProductId(), mp.getMerchantId()); +// } +// } +// } +// } Map cUserMap = new HashMap(); @@ -948,17 +961,22 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } co.setSubsidyNum(co.getSubsidy()); - - Long merchanId = merchantProductIdMap.get(co.getCouponId()); - if (null != merchanId) { - if (merchanId == -999L) { - co.setMerchantName("多商户通用"); - co.setMerchantId(0L); - }else { - co.setMerchantName(merchantNameMap.get(merchanId)); - co.setMerchantId(merchanId); - } + + if(co.getMerchantId() == null){ + Long merchanId = merchantProductIdMap.get(co.getCouponId()); + if (null != merchanId) { + if (merchanId == -999L) { + co.setMerchantName("多商户通用"); + co.setMerchantId(0L); + }else { + co.setMerchantName(merchantNameMap.get(merchanId)); + co.setMerchantId(merchanId); + } + } + }else{ + co.setMerchantName(merchantNameMap.get(co.getMerchantId())); } + WxCUserBasicInfo basicInfo = cUserMap.get(co.getCUserId()); if (null != basicInfo) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index ea8088deb..8a879c52b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -1016,7 +1016,7 @@ public class WxCouponServiceImpl implements WxCouponService { if (onlyOneMerchantCoupons) { merchantProductVos = wxCouponMerchantMapper.findOnlyMerchantProduct(tenantEntity.getTenantId(), merchantIds); }else { - merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIds); + merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), couponIds); } if (null != merchantProductVos && merchantProductVos.size() > 0 ) { for (int i = 0 ; i < merchantProductVos.size(); i ++) { diff --git a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml index f8026d351..c271f8436 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml @@ -112,12 +112,18 @@ and wcm.`tenant_id` = #{tenantId} - + + and wcm.product_id in + + #{productIdItem} + + + GROUP BY product_id