From 97b2a70a3bc9fe734ce72af369695dab1d612a9e Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 9 Mar 2022 12:18:01 +0800 Subject: [PATCH] /. --- .../java/com/iformall/enums/EnumChart.java | 2 +- .../com/iformall/mapper/WxCUserCarMapper.java | 2 + .../service/impl/WxChartServiceImpl.java | 57 +++++++++++++++++-- .../resources/mapper/WxCUserCarMapper.xml | 15 +++++ 4 files changed, 71 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java index 7f825df3f..25202ad2c 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java @@ -20,7 +20,7 @@ public enum EnumChart { JYZXXZTCHY(13, "近一周新增停车会员"), JYZXSJFCL(14, "近一周线上缴费车辆"), JYZXSJFJE(15, "近一周线上缴费金额"), -// JYZXZHYS(16, "近一周新增会员数"),弃用了 + JYZXZHYS(16, "近一周新增会员统计"), ZRCDYH(17, "昨日触达用户"), JRQJYSJ(18, "今日券交易数据"), JRCJYX(19, "今日场景营销"), diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java index cbd39a1c0..6d645b78d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java @@ -16,4 +16,6 @@ public interface WxCUserCarMapper extends CommonMapper { long queryCarCount(HashMap carParams); + List> queryCarCountHistory(HashMap params); + } \ No newline at end of file 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 230d12f76..80159b5fd 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -187,6 +187,8 @@ public class WxChartServiceImpl implements WxChartDataService { WxBillOtherMapper wxBillOtherMapper; @Autowired WxBillAllMapper wxBillAllMapper; + @Autowired + WxCUserCarMapper wxCUserCarMapper; @Lazy @@ -313,10 +315,10 @@ public class WxChartServiceImpl implements WxChartDataService { if (chart.equals(EnumChart.JYZXSJFJE.getCode())) { return getCarPayCountInWeek(tenantEntity); } - //近一周新增会员数 -// if (chart.equals(EnumChart.JYZXZHYS.getCode())) { -// return getCarNewMemberCountInWeek(tenantEntity); -// } + //近一周新增会员统计 + if (chart.equals(EnumChart.JYZXZHYS.getCode())) { + return getCarNewMemberCountInWeek(tenantEntity); + } //// --- 车流 -- END //昨日触达用户 if (chart.equals(EnumChart.ZRCDYH.getCode())) { @@ -1064,6 +1066,53 @@ public class WxChartServiceImpl implements WxChartDataService { return new ResultData(datamap); } + /** + * 车流 - 近一周新增会员统计 + * @param tenantEntity + * @return + */ + private ResultData getCarNewMemberCountInWeek(TenantEntity tenantEntity) { +// List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); + HashMap datamap = new HashMap<>(); + HashMap weekParams = new HashMap<>(); +// weekParams.put("tenantEntitys", tenantEntitys); + weekParams.put("tenantId", tenantEntity.getTenantId()); + weekParams.put("finalTenantId", tenantEntity.getFinalTenantId()); + if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { + weekParams.put("parentTenantId", tenantEntity.getParentTenantId()); + } + String oneWeekStartdate = DateUtils.getTimeBefore(7, new Date()); + String oneWeekEndDate = DateUtils.getTimeBefore(1, new Date()); + weekParams.put("startdate", oneWeekStartdate + " 00:00:00"); + weekParams.put("enddate", oneWeekEndDate + " 23:59:59"); + weekParams.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode()); + List> carCountHistory = wxCUserCarMapper.queryCarCountHistory(weekParams); + Map weekCarCollect = carCountHistory.stream().collect(Collectors.toMap(m -> { + return (String) m.get("create_time"); + }, m -> { + return m.get("count"); + })); + List days = DateUtils.getTjTimeList(oneWeekStartdate, oneWeekEndDate, "0"); + List timeList = new ArrayList<>(); + List valList = new ArrayList<>(); + for (String date : days) { + String newdate = date.substring(5, date.length()).replace("-", "/"); + Object o = weekCarCollect.get(newdate); + timeList.add(newdate); + if (o == null) { + valList.add(0L); + } else { + valList.add(o); + } + } + + Map map = new HashMap(); + map.put("index", timeList); + map.put("val", valList); + datamap.put("oneWeekNewCarUserHistory", map); + return new ResultData(datamap); + } + /** * 近一周线上缴费车辆 * @param tenantEntity diff --git a/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml index 62517870d..d953f2576 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserCarMapper.xml @@ -117,4 +117,19 @@ and create_date between #{startdate} and #{enddate} + +