From 47ee703473890f8b271a5b1a49c9505111b2e4ec Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 15 Mar 2019 15:26:14 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=90=A5=E9=94=80=E5=88=86=E6=9E=90][?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0][=E5=8D=A1=E8=90=A5=E9=94=80=E5=88=97?= =?UTF-8?q?=E8=A1=A8]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxChartDataController.java | 17 +--- .../controller/WxCouponController.java | 97 ++++++------------- .../java/com/iformall/enums/EnumChart.java | 5 +- .../iformall/service/WxChartDataService.java | 4 +- .../service/impl/WxChartServiceImpl.java | 79 ++++++++++++++- 5 files changed, 118 insertions(+), 84 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxChartDataController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxChartDataController.java index 2b3dff574..5f1938320 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxChartDataController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxChartDataController.java @@ -36,21 +36,8 @@ public class WxChartDataController extends BaseController { @ApiImplicitParam(name = "querytime", value = "querytime", dataType = "String", paramType = "query", required = true)}) public ResultData queryData(@RequestParam Map params) { logger.debug("[" + getIpAddr() + "] WxChartDataController::queryData"); - Integer chart = Integer.valueOf(params.get("chart")); - String querytime = params.get("querytime"); - String startdate = DateUtils.getSystemTime("yyyy-MM-dd"); - String enddate = startdate; - if (!StringUtils.isEmpty(querytime)) { - String[] split = querytime.split(","); - if (split.length == 2) { - startdate = split[0]; - enddate = split[1]; - } else { - startdate = split[0]; - enddate = split[0]; - } - } - return wxChartDataService.queryData(getTenantId(), chart, startdate, enddate); + params.put("tenantId",super.getTenantId()); + return wxChartDataService.queryData(params); } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java index b957c3cce..dd8550e29 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java @@ -116,12 +116,13 @@ public class WxCouponController extends BaseController { return new ResultData(wxCouponService.list(wxCoupon)); } - @ApiOperation("卡类列表统计接口") - @GetMapping("findCountData") + + @ApiOperation("卡营销列表接口") + @GetMapping("findCardCountList") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData findCountData(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) { + public ResultData findCardCountList(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) { //默认时间本月第一天,截止到当天 Map result = new HashedMap(); if(wxCoupon.getStartdate() == null){ @@ -133,80 +134,46 @@ public class WxCouponController extends BaseController { if(wxCoupon.getEnddate() == null){ wxCoupon.setEnddate(new Date()); } - List saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon); - List paymentList = wxCouponService.findPaymentByDate(wxCoupon); - Map saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); - Map payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); - - for (WxCoupon coupon:saleMoneyList){ - saleMap.put(coupon.getXtime(),coupon.getSaleAmount()); - } - for (WxCoupon coupon:paymentList){ - payMentMap.put(coupon.getXtime(),coupon.getSumPayment()); - } result.put("list",wxCouponService.findCountData(wxCoupon,pageNum,pageSize)); - result.put("saleHistory",saleMap); - result.put("paymentHistory",payMentMap); - result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon)); - result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon)); - result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon)); - return new ResultData(result); } @ApiOperation("卷列表统计接口") - @GetMapping("findCouponData") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData findCouponData(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) { + @GetMapping("findCouponHistory") + public ResultData findCouponHistory(@ModelAttribute WxCoupon wxCoupon) { //默认时间本月第一天,截止到当天 Map result = new HashedMap(); - if(wxCoupon.getStartdate() == null){ - Calendar c = Calendar.getInstance(); - c.add(Calendar.MONTH, 0); - c.set(Calendar.DAY_OF_MONTH,1); - wxCoupon.setStartdate(c.getTime()); - } - if(wxCoupon.getEnddate() == null){ - wxCoupon.setEnddate(new Date()); - } - List saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon); - List paymentList = wxCouponService.findPaymentByDate(wxCoupon); - Map saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); - Map payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); - - for (WxCoupon coupon:saleMoneyList){ - saleMap.put(coupon.getXtime(),coupon.getSaleAmount()); - } - for (WxCoupon coupon:paymentList){ - payMentMap.put(coupon.getXtime(),coupon.getSumPayment()); - } - result.put("list",wxCouponService.findCouponData(wxCoupon,pageNum,pageSize)); - result.put("saleHistory",saleMap); - result.put("paymentHistory",payMentMap); - result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon)); - result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon)); - result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon)); +// if(wxCoupon.getStartdate() == null){ +// Calendar c = Calendar.getInstance(); +// c.add(Calendar.MONTH, 0); +// c.set(Calendar.DAY_OF_MONTH,1); +// wxCoupon.setStartdate(c.getTime()); +// } +// if(wxCoupon.getEnddate() == null){ +// wxCoupon.setEnddate(new Date()); +// } +// List saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon); +// List paymentList = wxCouponService.findPaymentByDate(wxCoupon); +// Map saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); +// Map payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); +// +// for (WxCoupon coupon:saleMoneyList){ +// saleMap.put(coupon.getXtime(),coupon.getSaleAmount()); +// } +// for (WxCoupon coupon:paymentList){ +// payMentMap.put(coupon.getXtime(),coupon.getSumPayment()); +// } +// result.put("saleHistory",saleMap); +// result.put("paymentHistory",payMentMap); +// result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon)); +// result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon)); +// result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon)); return new ResultData(result); } - public static Map getDateMap(Date begin, Date end) { - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - Map map = new LinkedHashMap<>(); - map.put(format.format(begin),0); - Calendar calBegin = Calendar.getInstance(); - calBegin.setTime(begin); - Calendar calEnd = Calendar.getInstance(); - calEnd.setTime(end); - while (calBegin.getTime().before(end)) { - calBegin.add(Calendar.DAY_OF_MONTH, 1); - map.put(format.format(calBegin.getTime()),0); - } - return map; - } + } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java index a3a05ed5c..26f9b08da 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumChart.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumChart.java @@ -48,7 +48,10 @@ public enum EnumChart { HYNLCC(41, "会员年龄层次"), HYCZZ(42, "会员成长值"), HYSJPP(43, "会员手机品牌"), - HYHYD(44, "会员活跃度"),; + HYHYD(44, "会员活跃度"), + + SALE_CARD(45, "卡营销数据"), + SALE_COUPON(46, "卷营销数据"); public static EnumChart getEnum(Integer code) { for (EnumChart value : values()) { diff --git a/mallinkService/src/main/java/com/iformall/service/WxChartDataService.java b/mallinkService/src/main/java/com/iformall/service/WxChartDataService.java index c6a541545..81bf43ad4 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxChartDataService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxChartDataService.java @@ -2,7 +2,9 @@ package com.iformall.service; import com.iformall.common.ResultData; +import java.util.Map; + public interface WxChartDataService { - ResultData queryData(String tenantId, Integer chart, String startdate, String enddate); + ResultData queryData(Map params); } 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 f6ec857b6..c9365afce 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -10,7 +10,10 @@ import com.iformall.domain.vo.*; import com.iformall.enums.*; import com.iformall.mapper.*; import com.iformall.service.WxChartDataService; +import com.iformall.service.WxCouponService; import com.iformall.utils.DateUtils; +import org.apache.commons.collections.map.HashedMap; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -55,10 +58,28 @@ public class WxChartServiceImpl implements WxChartDataService { WxLevelConfigMapper wxLevelConfigMapper; @Autowired WxCUserTagsMapper wxCUserTagsMapper; + @Autowired + WxCouponService wxCouponService; @Override - public ResultData queryData(String tenantId, Integer chart, String startdate, String enddate) { + public ResultData queryData(Map paramsMap) { + String tenantId = paramsMap.get("tenantId"); + Integer chart = Integer.valueOf(paramsMap.get("chart")); + String querytime = paramsMap.get("querytime"); + String startdate = DateUtils.getSystemTime("yyyy-MM-dd"); + String enddate = startdate; + if (!StringUtils.isEmpty(querytime)) { + String[] split = querytime.split(","); + if (split.length == 2) { + startdate = split[0]; + enddate = split[1]; + } else { + startdate = split[0]; + enddate = split[0]; + } + } + //出租率 HashMap datamap = new HashMap<>(); if (chart.equals(EnumChart.CZL.getCode())) { @@ -1447,6 +1468,46 @@ public class WxChartServiceImpl implements WxChartDataService { tagList.add(tag); return new ResultData(tagList); } + //卡营销数据 + if (chart.equals(EnumChart.SALE_CARD.getCode())) { + WxCoupon wxCoupon = new WxCoupon(); + wxCoupon.setTitle(paramsMap.get("title")); + + //默认时间本月第一天,截止到当天 + Map result = new HashedMap(); + if(startdate == null){ + Calendar c = Calendar.getInstance(); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH,1); + wxCoupon.setStartdate(c.getTime()); + }else{ + Date startTime = DateUtils.stringToDate(startdate + " 00:00:00"); + wxCoupon.setStartdate(startTime); + } + if(enddate == null){ + wxCoupon.setEnddate(new Date()); + }else{ + Date endTime = DateUtils.stringToDate(enddate + " 23:59:59"); + wxCoupon.setEnddate(endTime); + } + List saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon); + List paymentList = wxCouponService.findPaymentByDate(wxCoupon); + Map saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); + Map payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); + + for (WxCoupon coupon:saleMoneyList){ + saleMap.put(coupon.getXtime(),coupon.getSaleAmount()); + } + for (WxCoupon coupon:paymentList){ + payMentMap.put(coupon.getXtime(),coupon.getSumPayment()); + } + result.put("saleHistory",saleMap); + result.put("paymentHistory",payMentMap); + result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon)); + result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon)); + result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon)); + return new ResultData(result); + } return new ResultData(datamap); } @@ -1496,7 +1557,6 @@ public class WxChartServiceImpl implements WxChartDataService { return timemap; } - private long getCountByAge(EnumAgeInfo a, Calendar c, WxCUserBasicInfoDto dto) { if (a.getStart() != 0 || a.getEnd() != 0) { c.add(Calendar.YEAR, -a.getEnd()); @@ -1531,4 +1591,19 @@ public class WxChartServiceImpl implements WxChartDataService { return vo; } + public static Map getDateMap(Date begin, Date end) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Map map = new LinkedHashMap<>(); + map.put(format.format(begin),0); + Calendar calBegin = Calendar.getInstance(); + calBegin.setTime(begin); + Calendar calEnd = Calendar.getInstance(); + calEnd.setTime(end); + while (calBegin.getTime().before(end)) { + calBegin.add(Calendar.DAY_OF_MONTH, 1); + map.put(format.format(calBegin.getTime()),0); + } + return map; + } + }