From 58435fb4f478f3c7d3ed1a1da70e1ea47d14fb47 Mon Sep 17 00:00:00 2001 From: winter Date: Fri, 14 Jan 2022 19:17:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=A4=E6=98=93=E6=89=93?= =?UTF-8?q?=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/config/ShiroConfig.java | 2 +- .../controller/base/BaseController.java | 8 +- .../com/iformall/domain/po/WxCouponOrder.java | 2 + .../iformall/domain/vo/WxCouponOrderBVo.java | 15 --- .../iformall/mapper/WxCardSpendMapper.java | 3 +- .../iformall/mapper/WxCouponOrderMapper.java | 3 +- .../helper/WxCUserTagsServiceHelper.java | 118 +++++++++++++++--- .../resources/mapper/WxCardSpendMapper.xml | 69 ++-------- .../main/resources/mapper/WxCouponMapper.xml | 6 + .../resources/mapper/WxCouponOrderMapper.xml | 112 ++--------------- 10 files changed, 131 insertions(+), 207 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index ad3b2ca39..43c9e2138 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -154,7 +154,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/logout", "authc"); filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); - filterChainDefinitionMap.put("/**", "anon"); +// filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java index 7d52f0882..37d7924ed 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java @@ -66,11 +66,9 @@ public class BaseController { * @return */ public TenantEntity getTenantInfo(){ -// Session session = SecurityUtils.getSubject().getSession(); -// String tenantId = (String)session.getAttribute(UserSession.tenantId); -// String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); - String tenantId = "789"; - String parentTenantId = null; + Session session = SecurityUtils.getSubject().getSession(); + String tenantId = (String)session.getAttribute(UserSession.tenantId); + String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); TenantEntity tenantEntity = new TenantEntity(); tenantEntity.setTenantId(tenantId); tenantEntity.setParentTenantId(parentTenantId); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java index 7d651646e..c375119c6 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java @@ -24,6 +24,8 @@ public class WxCouponOrder extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "卡券ID", name = "couponId") private Long couponId; + @TableField(exist = false) + private List couponIds; @io.swagger.annotations.ApiModelProperty(value = "券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,8.砍价券,9.团购券,10.预购商品,11.可配送商品,12.券礼包,50.积分券,51.积分停车券,100.消费卡)", name = "couponType") private Integer couponType; @io.swagger.annotations.ApiModelProperty(value = "c端用户id", name = "cUserId") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java index 4958479e5..fc009eaff 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java @@ -195,11 +195,6 @@ public class WxCouponOrderBVo extends WxCouponOrder { @TableField(exist = false) private Date verifyEndDate; - @TableField(exist = false) - private Long couponId; - @TableField(exist = false) - private List couponIds; - @Excel(name = "类型", width = 50, orderNum = "16", replace = {"满减券_1", "代金券_2", "团购券_3", "礼品券_4", "停车券_5", "通用券_6", "砍价券_8", "团购券_9", "预购商品_10", "可配送商品_11", "券礼包_12", "积分券_50", "积分停车券_51", "消费卡_100"}) @TableField(exist = false) private Integer couponType; @@ -217,16 +212,6 @@ public class WxCouponOrderBVo extends WxCouponOrder { @TableField(exist = false) private String buildingStr; - @Override - public Long getCouponId() { - return couponId; - } - - @Override - public void setCouponId(Long couponId) { - this.couponId = couponId; - } - @Override public Integer getCouponType() { return couponType; diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java index eae5fa969..141d8346e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java @@ -13,8 +13,7 @@ public interface WxCardSpendMapper extends CommonMapper { int findCount(WxCardSpend wxCardSpend); - List> getCountByBusinessId(WxCardSpend wxCardSpend); - List> getCountBySubBusinessId(WxCardSpend wxCardSpend); + List> getMerchantCount(WxCardSpend wxCardSpend); List findCardSpendVoList(WxCardSpendVo wxCardSpend); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 40a150764..3deb0935d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -37,8 +37,7 @@ public interface WxCouponOrderMapper extends CommonMapper { //统一的计数接口 int findCount(WxCouponOrder wxCouponOrder); int findProductCount(WxCouponOrder wxCouponOrder); - List> getCountByBusinessId(WxCouponOrder wxCouponOrder); - List> getCountBySubBusinessId(WxCouponOrder wxCouponOrder); + List> getCouponCount(WxCouponOrder wxCouponOrder); //统一额度统计接口 int queryPriceTotal(WxCouponOrder wxCouponOrder); diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java index 106d8c268..7b2333986 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java @@ -47,6 +47,10 @@ public class WxCUserTagsServiceHelper{ WxSubBusinessMapper wxSubBusinessMapper; @Autowired WxCUserBasicChildMapper wxCUserBasicChildMapper; + @Autowired + WxCouponMapper wxCouponMapper; + @Autowired + WxMerchantMapper wxMerchantMapper; //打标 public List assign(WxCUserBasicInfo user, EnumTag tag, WxCUserTagsService wxCUserTagsService){ @@ -361,24 +365,60 @@ public class WxCUserTagsServiceHelper{ WxBusiness business = new WxBusiness(); List list = wxBusinessMapper.findList(business); - List> cardSpendCountList = wxCardSpendMapper.getCountByBusinessId(wxCardSpend); - List> cardOrderCountList = wxCouponOrderMapper.getCountByBusinessId(wxCouponOrder); - + List> cardSpendMerchantCountList = wxCardSpendMapper.getMerchantCount(wxCardSpend); + //查询商户 + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + List merchantList = wxMerchantMapper.findList(merchantQ); + Map merchantBussinessMap = new HashMap(); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ;i ++) { + WxMerchant m = merchantList.get(i); + merchantBussinessMap.put(m.getId(), m.getBusinessId()); + } + } + + List> couponCountList = wxCouponOrderMapper.getCouponCount(wxCouponOrder); + //查询业态 + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + Map couponBussinessMap = new HashMap(); + List couponList = wxCouponMapper.newfindCList(couponQ); + if (null != couponList) { + for (int i = 0 ; i < couponList.size() ;i ++) { + WxCoupon c = couponList.get(i); + couponBussinessMap.put(c.getId(), c.getBusiness()); + } + } + list.stream().forEach(b->{ int count = 0; - if(cardSpendCountList.size() > 0) { - for (Map cardSpendCount : cardSpendCountList) { + if(null != cardSpendMerchantCountList && cardSpendMerchantCountList.size() > 0) { + for (Map cardSpendCount : cardSpendMerchantCountList) { + + Long merchantId = (Long)cardSpendCount.get("merchantId") ; + Long merchantCount = (Long)cardSpendCount.get("count"); + if (null != merchantId && null != merchantCount) { + Integer bussiness = merchantBussinessMap.get(merchantId); + if (null != bussiness && bussiness.intValue() == b.getId().intValue()) { + count += merchantCount.intValue(); + } + } if (cardSpendCount.get("business_id") != null && cardSpendCount.get("business_id").equals(b.getId().toString())) { count += (Integer) cardSpendCount.get("bu_count"); } } } - if(cardOrderCountList.size() > 0) { - for (Map cardOrderCount : cardOrderCountList) { - if (cardOrderCount.get("business") != null - && cardOrderCount.get("business").equals(b.getId().toString())) { - count += (Integer) cardOrderCount.get("bu_count"); + if(null!= couponCountList && couponCountList.size() > 0) { + for (Map cardOrderCount : couponCountList) { + Long couponId = (Long)cardOrderCount.get("couponId") ; + Long couponCount = (Long)cardOrderCount.get("count"); + if (null != couponId && null != couponCount) { + Integer bussiness = couponBussinessMap.get(couponId); + if (null != bussiness && bussiness.intValue() == b.getId().intValue()) { + count += couponCount.intValue(); + } } } } @@ -432,24 +472,64 @@ public class WxCUserTagsServiceHelper{ subBusiness.setBusinessId(EnumBusiness.BUSINESS_ID1.getCode()); List list = wxSubBusinessMapper.findList(subBusiness); - List> cardSpendCountList = wxCardSpendMapper.getCountBySubBusinessId(wxCardSpend); - List> cardOrderCountList = wxCouponOrderMapper.getCountBySubBusinessId(wxCouponOrder); + List> cardSpendMerchantCountList = wxCardSpendMapper.getMerchantCount(wxCardSpend); + //查询商户子业态 + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + merchantQ.setSubBusinessId(wxCouponOrder.getSubBusinessId()); + List merchantList = wxMerchantMapper.findList(merchantQ); + Map merchantBussinessMap = new HashMap(); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ;i ++) { + WxMerchant m = merchantList.get(i); + merchantBussinessMap.put(m.getId(), m.getSubBusinessId()); + } + } + + + List> couponCountList = wxCouponOrderMapper.getCouponCount(wxCouponOrder); + //查询券子业态 + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + couponQ.setBusiness(wxCouponOrder.getBusinessId()); + List couponList = wxCouponMapper.newfindCList(couponQ); + Map couponBussinessMap = new HashMap(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size() ;i ++) { + WxCoupon c = couponList.get(i); + couponBussinessMap.put(c.getId(), c.getSubBusiness()); + } + } list.stream().forEach(sb->{ int count = 0; - if(cardSpendCountList.size() > 0) { - for (Map cardSpendCount : cardSpendCountList) { + if(null != cardSpendMerchantCountList && cardSpendMerchantCountList.size() > 0) { + for (Map cardSpendCount : cardSpendMerchantCountList) { + Long merchantId = (Long)cardSpendCount.get("merchantId") ; + Long merchantCount = (Long)cardSpendCount.get("count"); + if (null != merchantId && null != merchantCount) { + Integer subBussiness = merchantBussinessMap.get(merchantId); + if (null != subBussiness && subBussiness.intValue() == sb.getId().intValue()) { + count += merchantCount.intValue(); + } + } + Long subBusinessId = (Long)cardSpendCount.get("subBusinessId"); if (subBusinessId != null && subBusinessId.equals(sb.getId())) { count += (Integer) cardSpendCount.get("buCount"); } } } - if(cardOrderCountList.size() > 0) { - for (Map cardOrderCount : cardOrderCountList) { - Long subBusinessId = (Long)cardOrderCount.get("subBusiness"); - if (subBusinessId != null && subBusinessId.equals(sb.getId())) { - count += (Integer) cardOrderCount.get("buCount"); + + if(null!= couponCountList && couponCountList.size() > 0) { + for (Map cardOrderCount : couponCountList) { + Long couponId = (Long)cardOrderCount.get("couponId") ; + Long couponCount = (Long)cardOrderCount.get("count"); + if (null != couponId && null != couponCount) { + Integer subBussiness = couponBussinessMap.get(couponId); + if (null != subBussiness && subBussiness.intValue() == sb.getId().intValue()) { + count += couponCount.intValue(); + } } } } diff --git a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml index f983ee23c..0f5896397 100644 --- a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml @@ -189,17 +189,10 @@ - + select cs.merchant_id as merchantId, count(1) as count from wx_card_spend cs - inner join wx_merchant m on m.id = cs.merchant_id - where 1 = 1 - - and cs.`owner_id` = #{ownerId} - - - and cs.`tenant_id` = #{tenantId} - + where cs.`owner_id` = #{ownerId} and cs.`tenant_id` = #{tenantId} and cs.`parent_tenant_id` = #{parentTenantId} @@ -233,59 +226,15 @@ ((date_format(cs.create_date,'%H:%m') < '06:00') and date_format(cs.create_date,'%w') in (6,0))) - group by m.business_id - - - - diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index ae62e21cd..d2be058be 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -1241,6 +1241,12 @@ and `id` = #{id} + + and `business` = #{business} + + + and `sub_business` = #{subBusiness} + and id in diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index d56196c3d..4eef07fdf 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -568,14 +568,9 @@ - + select co.coupon_id as couponId, count(1) as count FROM wx_coupon_order co + where co.`tenant_id` = #{tenantId} and co.`parent_tenant_id` = #{parentTenantId} @@ -591,101 +586,12 @@ and co.coupon_type = #{couponType} - - - - and co.update_date >= #{startTime} - - - and co.update_date <= #{endTime} - - - and date_format(co.update_date,'%H:%m') >= '06:00' - and date_format(co.update_date,'%H:%m') < '18:00' - and date_format(co.update_date,'%w') in (1,2,3,4,5) - - - and ((date_format(co.update_date,'%H:%m') >= '18:00' - and date_format(co.update_date,'%w') in (1,2,3,4)) - or - ((date_format(co.update_date,'%H:%m') < '06:00') - and date_format(co.update_date,'%w') in (1,2,3,4,5))) - - - and date_format(co.update_date,'%H:%m') >= '06:00' - and date_format(co.update_date,'%H:%m') < '18:00' - and date_format(co.update_date,'%w') in (0,6) - - - and ((date_format(co.update_date,'%H:%m') >= '18:00' - and date_format(co.update_date,'%w') in (5,6,0)) - or - ((date_format(co.update_date,'%H:%m') < '06:00') - and date_format(co.update_date,'%w') in (6,0))) - - - - - - and co.create_date >= #{startTime} - - - and co.create_date <= #{endTime} - - - and date_format(co.create_date,'%H:%m') >= '06:00' - and date_format(co.create_date,'%H:%m') < '18:00' - and date_format(co.create_date,'%w') in (1,2,3,4,5) - - - and ((date_format(co.create_date,'%H:%m') >= '18:00' - and date_format(co.create_date,'%w') in (1,2,3,4)) - or - ((date_format(co.create_date,'%H:%m') < '06:00') - and date_format(co.create_date,'%w') in (1,2,3,4,5))) - - - and date_format(co.create_date,'%H:%m') >= '06:00' - and date_format(co.create_date,'%H:%m') < '18:00' - and date_format(co.create_date,'%w') in (0,6) - - - and ((date_format(co.create_date,'%H:%m') >= '18:00' - and date_format(co.create_date,'%w') in (5,6,0)) - or - ((date_format(co.create_date,'%H:%m') < '06:00') - and date_format(co.create_date,'%w') in (6,0))) - - - group by c.business - - -