From e74769ff6cec9892eb0185cbae0e12079259e4ff Mon Sep 17 00:00:00 2001 From: hupeng Date: Fri, 21 Dec 2018 16:07:23 +0800 Subject: [PATCH] =?UTF-8?q?[A=E7=AB=AF][=E4=BF=AE=E5=A4=8D]:=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0=E5=8F=91=E5=88=B8=E7=BB=9F=E8=AE=A1,=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0=E5=8F=91=E5=88=B8=E5=A4=9A=E5=8F=91=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/vo/MarkingSceneDataReportVo.java | 6 ++- .../iformall/mapper/WxCouponOrderMapper.java | 2 +- .../impl/MarkingDataReportServiceImpl.java | 49 ++++++++++++++++--- .../service/impl/WxCouponSendServiceImpl.java | 1 + .../resources/mapper/WxCouponOrderMapper.xml | 10 ++++ 5 files changed, 59 insertions(+), 9 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/MarkingSceneDataReportVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/MarkingSceneDataReportVo.java index b374d2eb5..ca6caa7e7 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/MarkingSceneDataReportVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/MarkingSceneDataReportVo.java @@ -12,11 +12,13 @@ public class MarkingSceneDataReportVo { private int parkSendCount; // 停车发放 private int verifySendCount; // 核销发放 private int microPaySendCount; // B端刷卡支付发放 + private int orderSendCount; // 购买发放数 private int parkCount; // 停车核销数 private int verifyCount; // 核销核销数 - private int microPayCount; // 核销核销数 + private int microPayCount; // 核销核销数 + private int orderCount; // 购买数 private int tempCount; - private Integer carCount; // 车辆进场数 + private Integer carCount; // 车辆进场数 private String verifyPercent; private int total; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index eb58211f3..fc7f72975 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -81,7 +81,7 @@ public interface WxCouponOrderMapper extends CommonMapper { List queryForSceneRepotyHistoryVerified(HashMap params); - + List queryForSceneRepotyHistoryOrdered(HashMap params); /** * 查询核销/领券数 * @param startTime diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java index 798dbafa6..9c4a61f9d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -172,7 +172,6 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { Map verifyCountMap = list2.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); // B端刷卡支付被核销数 - // TODO HashMap params3 = new HashMap<>(); params3.put("tenantId", tenantId); params3.put("startTime", addDay(-30)); @@ -181,10 +180,20 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { List list3 = wxCouponActionLogMapper.sceneDataMapJoinCouponOrder(params3); Map microPayCountMap = list3.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); + // 购买发券被核销数 + HashMap params4 = new HashMap<>(); + params3.put("tenantId", tenantId); + params3.put("startTime", addDay(-30)); + params3.put("endTime", addDay(1)); + params3.put("channelType", EnumCouponSendSendType.C_ORDER.getCode());//B端刷卡支付 + List list4 = wxCouponActionLogMapper.sceneDataMapJoinCouponOrder(params4); + Map OrderCountMap = list4.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); + for (MarkingSceneDataReportVo vo : list) { vo.setParkCount(parkCountMap.get(vo.getXTime()) == null ? 0 : parkCountMap.get(vo.getXTime())); vo.setVerifyCount(verifyCountMap.get(vo.getXTime()) == null ? 0 : verifyCountMap.get(vo.getXTime())); vo.setMicroPayCount(microPayCountMap.get(vo.getXTime()) == null ? 0 : microPayCountMap.get(vo.getXTime())); + vo.setOrderCount(OrderCountMap.get(vo.getXTime()) == null ? 0 : OrderCountMap.get(vo.getXTime())); } String startdate = DateUtils.getTimeBefore(30, new Date()); @@ -202,16 +211,21 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { msdVo.setParkCount(0); msdVo.setVerifyCount(0); msdVo.setMicroPayCount(0); + msdVo.setOrderCount(0); msdVo.setTempCount(0); msdVo.setParkSendCount(0); msdVo.setVerifySendCount(0); msdVo.setMicroPaySendCount(0); + msdVo.setOrderSendCount(0); msdVo.setTotal(0); tempDatalist.add(msdVo); continue; } MarkingSceneDataReportVo msdVo = first.get(); - msdVo.setTotal(msdVo.getParkSendCount() + msdVo.getVerifySendCount() + msdVo.getMicroPaySendCount()); + msdVo.setTotal(msdVo.getParkSendCount() + + msdVo.getVerifySendCount() + + msdVo.getMicroPaySendCount() + + msdVo.getOrderSendCount()); tempDatalist.add(msdVo); } @@ -283,6 +297,8 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { vo.setSendCount(temp.getMicroPaySendCount()); }else if (markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.COUPON_VERIFY.getCode())){ vo.setSendCount(temp.getVerifySendCount()); + }else if (markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.C_ORDER.getCode())){ + vo.setSendCount(temp.getOrderSendCount()); }else { vo.setSendCount(0); } @@ -312,8 +328,8 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { if (markingCouponDataReportDto.getEndTime() != null) params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); params.put("channelType", EnumCouponSendSendType.B_MICROPAY.getCode()); - List list1 = wxCouponActionLogMapper.sceneDataJoinCouponOrderList(params); - countMap = list1.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); + List list2 = wxCouponActionLogMapper.sceneDataJoinCouponOrderList(params); + countMap = list2.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); } else if (markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.COUPON_VERIFY.getCode())){ //核销发券被核销数 params.clear(); @@ -323,8 +339,19 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { if (markingCouponDataReportDto.getEndTime() != null) params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); params.put("channelType", EnumCouponSendSendType.COUPON_VERIFY.getCode()); - List list2 = wxCouponActionLogMapper.sceneDataJoinCouponOrderList(params); - countMap = list2.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); + List list3 = wxCouponActionLogMapper.sceneDataJoinCouponOrderList(params); + countMap = list3.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); + } else if (markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.C_ORDER.getCode())){ + //购买发数 + params.clear(); + params.put("tenantId", tenantId); + if (markingCouponDataReportDto.getStartTime() != null) + params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); + if (markingCouponDataReportDto.getEndTime() != null) + params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); + params.put("channelType", EnumCouponSendSendType.C_ORDER.getCode()); + List list4 = wxCouponActionLogMapper.sceneDataJoinCouponOrderList(params); + countMap = list4.stream().collect(Collectors.toMap(MarkingSceneDataReportVo::getXTime, p -> p.getTempCount())); } Map triggerCountMap = new HashMap<>(); @@ -361,6 +388,16 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); List markingSceneDataVos = wxCouponOrderMapper.queryForSceneRepotyHistoryVerified(params); triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getxTime, p -> p.getTriggerCount())); + }else if (markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.C_ORDER.getCode())) { + //购买发券数 + params.clear(); + params.put("tenantId", tenantId); + if (markingCouponDataReportDto.getStartTime() != null) + params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); + if (markingCouponDataReportDto.getEndTime() != null) + params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); + List markingSceneDataVos = wxCouponOrderMapper.queryForSceneRepotyHistoryOrdered(params); + triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getxTime, p -> p.getTriggerCount())); } NumberFormat nf = NumberFormat.getPercentInstance(); nf.setMinimumFractionDigits(2); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index cd69baa64..71f4eb1f8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -135,6 +135,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { WxCouponSend wxCouponSendQuery = new WxCouponSend(); wxCouponSendQuery.setTenantId(tenantId); + wxCouponSendQuery.setSendType(type.getCode()); wxCouponSendQuery.setStatus(EnumCouponSendStatus.VALID.getCode()); List wxCouponSends = wxCouponSendMapper.findList(wxCouponSendQuery); diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 1ab6df962..bc7e10121 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -242,6 +242,16 @@ group by xTime + +