From 47872a275cb1fbcb9349174c7dbd51dcb82f3624 Mon Sep 17 00:00:00 2001 From: luozukai Date: Sat, 20 Apr 2019 18:39:44 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=A1=E6=89=B9=E6=B5=81][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9][=E4=BF=AE=E6=94=B9varables=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxChartServiceImpl.java | 56 +++++++++---------- .../service/impl/WxFlowServiceImpl.java | 2 +- .../main/resources/mapper/WxCouponMapper.xml | 3 +- .../resources/mapper/WxOrderGroupMapper.xml | 6 +- 4 files changed, 34 insertions(+), 33 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index 61c46961a..95f28fb61 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -295,12 +295,12 @@ public class WxChartServiceImpl implements WxChartDataService { //首页场景发券 if (chart.equals(EnumChart.INDEX_COUPON_SCENE.getCode())) { - return new ResultData(markingDataReportService.getSceneDataHistory(tenantId, paramsMap.get("startdate"), paramsMap.get("enddate"))); + return new ResultData(markingDataReportService.getSceneDataHistory(tenantId, startdate, enddate)); } //首页营销数据 if (chart.equals(EnumChart.INDEX_SALE_DATA.getCode())) { - return getSaleDataHistory(tenantId, startdate,enddate); + return getSaleDataHistory(tenantId, startdate, enddate); } @@ -2426,34 +2426,19 @@ public class WxChartServiceImpl implements WxChartDataService { * @return */ private ResultData getSaleDataHistory(String tenantId, String startdate,String enddate) { - Date startDate = DateUtils.getDateFromString(startdate,"yyyy-MM-dd").getTime(); - Date endDate = DateUtils.getDateFromString(enddate,"yyyy-MM-dd").getTime(); + Date startDate = DateUtils.getDateFromString(startdate,"yyyy-MM-dd HH:mm:ss").getTime(); + Date endDate = DateUtils.getDateFromString(enddate,"yyyy-MM-dd HH:mm:ss").getTime(); HashMap datamap = new HashMap<>(); - //卷数据 - HashMap params = new HashMap<>(); - params.put("tenantId", tenantId); - params.put("startTime", startDate); - params.put("endTime", endDate); - List couponDatalist = wxCouponOrderMapper.couponDataMap(params); - List days = DateUtils.getTjTimeList(startdate,enddate,"0"); - TreeMap historyMap = new TreeMap<>(); - Map countMap = couponDatalist.stream().collect(Collectors.toMap(MarkingCouponDataReportVo::getCreateTime, p -> p.getCouponCount())); - for (String date:days) { - historyMap.put(date.substring(5,date.length()).replace("-","/"),"0"); - } - for (String key : countMap.keySet()) { - String keySub = key.substring(5,key.length()).replace("-","/"); - historyMap.put(keySub,countMap.get(key)); - } - datamap.put("couponHistory",historyMap); - - //卡数据 + TreeMap historyMap; + Map countMap; WxCoupon couponQuery = new WxCoupon(); couponQuery.setTenantId(tenantId); couponQuery.setStartdate(startDate); couponQuery.setEnddate(endDate); + + //卡数据 List couponStatisVoList = wxCouponService.findSaleCardCountHistory(couponQuery); countMap = couponStatisVoList.stream().collect(Collectors.toMap(WxCouponStatisVo::getXtime, p -> Integer.parseInt(p.getXcount()))); historyMap = new TreeMap<>(); @@ -2467,15 +2452,28 @@ public class WxChartServiceImpl implements WxChartDataService { datamap.put("cardHistory",historyMap); //砍价数据 - List pressSendHistory = wxCouponService.pressSendHistory(couponQuery); - Map pressSendHistoryMap = getDateMap(startDate,endDate); - for (WxCouponStatisVo coupon:pressSendHistory){ - pressSendHistoryMap.put(coupon.getXtime(),coupon.getXcount()); + List wxCouponStatisVoList = wxCouponService.pressSendHistory(couponQuery); + Map countHistoryMap = getDateMap(startDate,endDate); + for (WxCouponStatisVo coupon:wxCouponStatisVoList){ + countHistoryMap.put(coupon.getXtime(),coupon.getXcount()); } - datamap.put("pressSendHistory",pressSendHistoryMap); + datamap.put("pressSendHistory",countHistoryMap); //拼团 - long groupCount = wxOrderGroupMapper.queryOrderGroupCount(params); + wxCouponStatisVoList = wxOrderGroupMapper.queryOrderGroupCountHistory(couponQuery); + countHistoryMap = getDateMap(startDate,endDate); + for (WxCouponStatisVo coupon:wxCouponStatisVoList){ + countHistoryMap.put(coupon.getXtime(),coupon.getXcount()); + } + datamap.put("groupHistory",countHistoryMap); + + //卷数据 + wxCouponStatisVoList = wxCouponService.findCouponOrderCount(couponQuery); + countHistoryMap = getDateMap(startDate,endDate); + for (WxCouponStatisVo coupon:wxCouponStatisVoList){ + countHistoryMap.put(coupon.getXtime(),coupon.getXcount()); + } + datamap.put("couponHistory",countHistoryMap); return new ResultData(datamap); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 10cba0455..f408e5f87 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -534,7 +534,7 @@ public class WxFlowServiceImpl implements WxFlowService { } } taskInfoMap.put("businessType",mapInfo.get("flowType")); - taskInfoMap.put("variables",variablesMap); + taskInfoMap.put("variables",JSONUtils.toJSONString(variablesMap)); result.add(taskInfoMap); } } diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 7cb2d5dd7..0e0201ca8 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -761,12 +761,13 @@ diff --git a/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml index 9f265ad94..b8eee9103 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderGroupMapper.xml @@ -166,8 +166,9 @@ - + select DATE_FORMAT(create_date,'%Y-%m-%d') xtime,count(*) xcount + from wx_order_group and tenant_id=#{tenantId} @@ -176,6 +177,7 @@ and create_date BETWEEN #{startdate} and #{enddate} + group by xtime