diff --git a/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java index 74ce9e6f9..b1172ea08 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/base/TenantEntity.java @@ -34,6 +34,10 @@ public class TenantEntity extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="租户编号列表,查询使用",name="tenantIdList") @TableField(exist = false) protected List tenantIdList; + + @io.swagger.annotations.ApiModelProperty(value="父租户编号列表,查询使用",name="parentTenantIdList") + @TableField(exist = false) + protected List parentTenantIdList; public void updateTenantInfo(TenantEntity info) { tenantId = info.getTenantId(); @@ -98,4 +102,12 @@ public class TenantEntity extends BaseEntity { this.tenantIdList = tenantIdList; } + public List getParentTenantIdList() { + return parentTenantIdList; + } + + public void setParentTenantIdList(List parentTenantIdList) { + this.parentTenantIdList = parentTenantIdList; + } + } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumSaleType.java b/mallinkService/src/main/java/com/iformall/enums/EnumSaleType.java index 2379bfa62..947942ace 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumSaleType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumSaleType.java @@ -12,8 +12,8 @@ public enum EnumSaleType { WX_ENJOY(3,"速享版"), WX_ENJOY_TRY(4, "速享试用版"), TT_ALL_ROUND(11, "抖音尊享版"), - GROUP(100, "集团版"), - GROUP_v1(101, "集团版"), + GROUP(100, "集团版(旧版,每个商场一个小程序)"), + GROUP_v1(101, "集团版(同一个小程序)"), WX_JM_ALL_ROUND(1035001036,"金茂全能版"), ; 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 59d3fc717..0ee7582ae 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -203,6 +203,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Autowired WxCouponCarMapper wxCouponCarMapper; + + @Autowired + WxMallMapper wxMallMapper; private final SimpleDateFormat mydateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -390,6 +393,21 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { List cUserIdList = new ArrayList(); List couponIdList = new ArrayList(); List mallTenantIdList = new ArrayList(); + mallTenantIdList.add(couponOrderTenantEntity.getTenantId()); + //查询子广场 + WxMall wxMallq = new WxMall(); + List partlist = new ArrayList(); + partlist.add(couponOrderTenantEntity.getTenantId()); + if (null != couponOrderTenantEntity.getParentTenantId()) { + partlist.add(couponOrderTenantEntity.getParentTenantId()); + } + wxMallq.setParentTenantIdList(partlist); + List mallList = wxMallMapper.findList(wxMallq); + if ( null != mallList && mallList.size() > 0 ) { + for (WxMall mall : mallList) { + mallTenantIdList.add(mall.getTenantId()); + } + } for (int j = 0 ; j < couponOrderList.size(); j ++) { WxCouponOrder co = couponOrderList.get(j); Long bUserId = co.getBUserId(); @@ -400,12 +418,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if (null == bUserIdList) { bUserIdList = new ArrayList(); } - if (bUserIdList.contains(bUserId)) { + if (!bUserIdList.contains(bUserId)) { bUserIdList.add(bUserId); } - if (!mallTenantIdList.contains(mallTenantId)) { - mallTenantIdList.add(mallTenantId); - } + mallBUserIdList.put(mallTenantId, bUserIdList); } } @@ -445,6 +461,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { merchantIdList.add(b.getMerchantId()); } } + mallMerchantIdList.put(mallTenantId, merchantIdList); } } } @@ -524,6 +541,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { couponMerchantVoMap = mallCouponMerchantVoMap.get(couponOrder.getBTenantId()); } } + if (null == couponMerchantVoMap) { + couponMerchantVoMap = new HashMap>(); + } WxCouponOrderBVo bvo = couponOrdertoBVo(couponOrder,bUserMap,merchantSimpleMap,cUserSimpleMap,couponMap,hasMerchant,couponMerchantVoMap); if (null != bvo ) { retList.add(bvo); @@ -904,7 +924,25 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { Map> mallBUserIdList = new HashMap>(); Map> mallMerchantIdList = new HashMap>(); List couponIdList = new ArrayList(); + List mallTenantIdList = new ArrayList(); + mallTenantIdList.add(couponOrderTenantEntity.getTenantId()); + //查询子广场 + WxMall wxMallq = new WxMall(); + List partlist = new ArrayList(); + partlist.add(couponOrderTenantEntity.getTenantId()); + if (null != couponOrderTenantEntity.getParentTenantId()) { + partlist.add(couponOrderTenantEntity.getParentTenantId()); + } + wxMallq.setParentTenantIdList(partlist); + List mallList = wxMallMapper.findList(wxMallq); + if ( null != mallList && mallList.size() > 0 ) { + for (WxMall mall : mallList) { + mallTenantIdList.add(mall.getTenantId()); + } + } + + for (int i = 0 ; i < list.size() ; i ++ ) { WxCouponOrder bo = list.get(i); Long cusrid = bo.getcUserId(); @@ -920,20 +958,16 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if(null != bUserId && (!bUserIdList.contains(bUserId))){ bUserIdList.add(bUserId); } - - List merchantIdList = mallMerchantIdList.get(bo.getBTenantId()); - if (null == merchantIdList) { - merchantIdList = new ArrayList(); - } - Long bmerchantId = bo.getBMerchantId(); - if (null != bmerchantId && (!merchantIdList.contains(bmerchantId))) { - merchantIdList.add(bmerchantId); - } + mallBUserIdList.put(bo.getBTenantId(), bUserIdList); - if (!mallTenantIdList.contains(bo.getBTenantId())) { - mallTenantIdList.add(bo.getBTenantId()); + List merchantIds = mallMerchantIdList.get(bo.getBTenantId()); + if (null == merchantIds) { + merchantIds = new ArrayList(); } - + if(null != bo.getMerchantId() && (!merchantIds.contains(bo.getMerchantId()))){ + merchantIds.add(bo.getMerchantId()); + } + mallMerchantIdList.put(bo.getBTenantId(), merchantIds); } Long couponId = bo.getCouponId(); if (null != couponId && (!couponIdList.contains(couponId))) { @@ -961,26 +995,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } - Map merchantNameMap = new HashMap(); - if (null != mallMerchantIdList && mallMerchantIdList.size() > 0 ) { - for (Iterator it = mallMerchantIdList.keySet().iterator();it.hasNext();) { - String mallTenantIt = it.next(); - List merchantIdList = mallMerchantIdList.get(mallTenantIt); - if (null != merchantIdList && merchantIdList.size() > 0 ) { - WxMerchant merchantQ = new WxMerchant(); - merchantQ.setTenantId(mallTenantIt); - merchantQ.setIds(merchantIdList); - List merchantList = wxMerchantMapper.findIdNameList(merchantQ); - if (null != merchantList) { - for (int i = 0 ; i < merchantList.size() ; i ++) { - WxMerchant m = merchantList.get(i); - merchantNameMap.put(m.getId(), m.getName()); - } - } - } - } - } - Map couponMap = new HashMap(); Map merchantProductIdMap = new HashMap(); if (null != couponIdList && couponIdList.size() > 0 ) { @@ -996,20 +1010,49 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } for (int i = 0 ; i < mallTenantIdList.size(); i++) { - List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(mallTenantIdList.get(i), couponIdList); + String mallTenantId = mallTenantIdList.get(i); + List merchantIds = mallMerchantIdList.get(mallTenantId); + List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(mallTenantId, couponIdList); if (null != merchantProductVos) { + if (null == merchantIds) { + merchantIds = new ArrayList(); + } for (int j = 0 ; j < merchantProductVos.size(); j ++) { WxMerchantProductVo mp = merchantProductVos.get(j); if (mp.getMc() > 1) { merchantProductIdMap.put(mp.getProductId(), -999L); }else { merchantProductIdMap.put(mp.getProductId(), mp.getMerchantId()); + if (!merchantIds.contains(mp.getMerchantId())) { + merchantIds.add(mp.getMerchantId()); + } } } + mallMerchantIdList.put(mallTenantId, merchantIds); } } } + + Map merchantNameMap = new HashMap(); + if (null != mallMerchantIdList && mallMerchantIdList.size() > 0 ) { + for (Iterator it = mallMerchantIdList.keySet().iterator();it.hasNext();) { + String mallTenantIt = it.next(); + List merchantIdList = mallMerchantIdList.get(mallTenantIt); + if (null != merchantIdList && merchantIdList.size() > 0 ) { + WxMerchant merchantQ = new WxMerchant(); + merchantQ.setTenantId(mallTenantIt); + merchantQ.setIds(merchantIdList); + List merchantList = wxMerchantMapper.findIdNameList(merchantQ); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ; i ++) { + WxMerchant m = merchantList.get(i); + merchantNameMap.put(m.getId(), m.getName()); + } + } + } + } + } Map cUserMap = new HashMap(); if (cUserIdList.size() > 0) { diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 826c7794a..87c919bb5 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -224,6 +224,9 @@ ,`shipping_status` = #{shippingStatus} + + ,`b_tenant_id` = #{bTenantId} + where id=#{id} and `b_user_id` is null and `tenant_id` = #{tenantId} @@ -248,6 +251,9 @@ ,`shipping_status` = #{shippingStatus} + + ,`b_tenant_id` = #{bTenantId} + where id=#{id} and `tenant_id` = #{tenantId} @@ -278,6 +284,9 @@ ,`shipping_status` = #{shippingStatus} + + ,`b_tenant_id` = #{bTenantId} + where 1=1 and `tenant_id` = #{tenantId} @@ -294,7 +303,8 @@ `b_user_id` = null, `b_merchant_id` = null, `update_date` = #{updateDate}, - `verify_type` = null + `verify_type` = null, + `b_tenant_id` = null where id=#{id} and `tenant_id` = #{tenantId} diff --git a/mallinkService/src/main/resources/mapper/WxMallMapper.xml b/mallinkService/src/main/resources/mapper/WxMallMapper.xml index 6073cefb3..cce5879de 100644 --- a/mallinkService/src/main/resources/mapper/WxMallMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMallMapper.xml @@ -151,6 +151,13 @@ #{tIdItem} + + + and parent_tenant_id in + + #{ptIdItem} + + and id in