From cca54c1d18def836d6a38edc5d947bfdc1858d30 Mon Sep 17 00:00:00 2001 From: luozukai Date: Thu, 14 Mar 2019 19:19:44 +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/WxCardPayController.java | 2 +- .../controller/WxCouponController.java | 64 ++++++++++++++++- .../controller/WxCouponController.java | 14 ++-- .../java/com/iformall/domain/po/WxCoupon.java | 71 ++++++++++++++++++- .../com/iformall/mapper/WxCardInfoMapper.java | 2 - .../com/iformall/mapper/WxCouponMapper.java | 17 ++++- .../iformall/service/WxCardInfoService.java | 4 +- .../com/iformall/service/WxCouponService.java | 31 +++++++- .../impl/MarkingDataReportServiceImpl.java | 1 + .../service/impl/WxCardInfoServiceImpl.java | 10 +-- .../service/impl/WxCouponServiceImpl.java | 19 +++++ .../resources/mapper/WxCardInfoMapper.xml | 6 +- .../main/resources/mapper/WxCouponMapper.xml | 45 ++++++++++++ 13 files changed, 256 insertions(+), 30 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java index 5f4a90463..f3d2eaa70 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java @@ -51,7 +51,7 @@ public class WxCardPayController extends BaseController { @Autowired WxCardSpendService wxCardSpendService; - @ApiOperation("售卡记录列表接口") + @ApiOperation("售卡记录列表分页接口") @GetMapping("list") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java index d55607012..32a6c80ed 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java @@ -16,15 +16,16 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +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; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.text.DateFormatSymbols; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; @RestController @@ -119,4 +120,61 @@ public class WxCouponController extends BaseController { logger.debug("[" + getIpAddr() + "] WxCouponController::findById");; return new ResultData(wxCouponService.getVoById(id)); } + + @ApiOperation("卡类列表接口") + @GetMapping("findList") + public ResultData findList(@ModelAttribute WxCoupon wxCoupon) { + return new ResultData(wxCouponService.list(wxCoupon)); + } + + @ApiOperation("卡类列表统计接口") + @GetMapping("findCountData") + @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) { + Map result = new HashedMap(); + if(wxCoupon.getStartdate() == null){ + //获取当前月第一天 + Calendar c = Calendar.getInstance(); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH,1);//设置为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.findCountData(wxCoupon,pageNum,pageSize)); + result.put("saleHistory",saleMap); + result.put("paymentHistory",payMentMap); + 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/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java index 243f4f9ce..96861c671 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -2,25 +2,30 @@ package com.iformall.controller; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; -import com.iformall.domain.po.WxCouponChannel; +import com.iformall.domain.po.WxCoupon; +import com.iformall.domain.vo.MarkingSceneDataReportVo; import com.iformall.domain.vo.WxCouponCVo; import com.iformall.enums.EnumCouponChannelActivityStatus; import com.iformall.enums.EnumCouponChannelType; import com.iformall.service.WxCouponChannelService; - +import com.iformall.service.WxCouponService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +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; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.Date; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping("/api/wxCoupon") @@ -30,6 +35,8 @@ public class WxCouponController extends BaseController { @Autowired private WxCouponChannelService wxCouponChannelService; + @Autowired + private WxCouponService wxCouponService; @ApiOperation("根据id(couponChannel)查询接口") @@ -66,6 +73,5 @@ public class WxCouponController extends BaseController { } return new ResultData(wxCouponCVo); - } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index 6ee4e4caf..d036aaa34 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -1,5 +1,7 @@ package com.iformall.domain.po; +import org.springframework.format.annotation.DateTimeFormat; + import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; @@ -14,7 +16,7 @@ public class WxCoupon implements Serializable { @Id protected Long id; - + @Transient protected List ids; @Transient @@ -57,14 +59,15 @@ public class WxCoupon implements Serializable { private String subsidyNumStr; @Transient + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date startdate; @Transient + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date enddate; - @Transient - private String merchantParams; + private String xTime; /**租户ID**/ @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") @@ -158,6 +161,60 @@ public class WxCoupon implements Serializable { @io.swagger.annotations.ApiModelProperty(value="砍价限制时间",name="pressLimitHours") private Integer pressLimitHours; + + + /**售出卡数量**/ + @io.swagger.annotations.ApiModelProperty(value="售出卡数量",name="saleCount") + private Long saleCount; + /**转增数量**/ + @io.swagger.annotations.ApiModelProperty(value="转增数量",name="transferCount") + private Long transferCount; + /**售出金额**/ + @io.swagger.annotations.ApiModelProperty(value="售出金额",name="saleAmount") + private Integer saleAmount; + /**核销金额**/ + @io.swagger.annotations.ApiModelProperty(value="核销金额",name="sumPayment") + private Integer sumPayment; + + @Transient + private String merchantParams; + + public Long getSaleCount() { + return saleCount; + } + + public void setSaleCount(Long saleCount) { + this.saleCount = saleCount; + } + + public Long getTransferCount() { + return transferCount; + } + + public void setTransferCount(Long transferCount) { + this.transferCount = transferCount; + } + + public Integer getSaleAmount() { + return saleAmount; + } + + public void setSaleAmount(Integer saleAmount) { + this.saleAmount = saleAmount; + } + + public Integer getSumPayment() { + return sumPayment; + } + + public void setSumPayment(Integer sumPayment) { + this.sumPayment = sumPayment; + } + + public static long getSerialVersionUID() { + return serialVersionUID; + } + public String getTenantId() { return tenantId; } @@ -504,4 +561,12 @@ public class WxCoupon implements Serializable { this.setSortColumns(Field.valueOf(sortColumns)); } } + + public String getxTime() { + return xTime; + } + + public void setxTime(String xTime) { + this.xTime = xTime; + } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java index 9f5b6d5b1..bf4c0fee3 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java @@ -7,8 +7,6 @@ import com.iformall.domain.vo.WxCardVo; public interface WxCardInfoMapper extends CommonMapper { - List findList(WxCardInfo wxCardInfo); - List findVoList(WxCardVo wxCardVo); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index 58688b440..4a196e035 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -2,13 +2,12 @@ package com.iformall.mapper; import java.util.*; import com.iformall.common.CommonMapper; -import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.vo.WxCouponCVo; import org.apache.ibatis.annotations.Param; import com.iformall.domain.po.WxCoupon; public interface WxCouponMapper extends CommonMapper { - + List findCountData(WxCoupon wxCoupon); List findList(WxCoupon wxCoupon); List findCardList(WxCoupon wxCoupon); List findCouponList(WxCoupon wxCoupon); @@ -21,4 +20,18 @@ public interface WxCouponMapper extends CommonMapper { void offExpiriedCouponByValidDate(); void offExpiriedCouponByMerchantStatus(); + + /** + * 查询时间段内销售金额 + * @param wxCoupon + * @return + */ + List findSaleMoneyByDate(WxCoupon wxCoupon); + + /** + * 查询时间段内核销金额 + * @param wxCoupon + * @return + */ + List findPaymentByDate(WxCoupon wxCoupon); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java index 64ba1ecbe..5dc04a51d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCardInfoService.java @@ -4,6 +4,8 @@ import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxCardInfo; import com.iformall.domain.vo.WxCardVo; +import java.util.List; + public interface WxCardInfoService { /** @@ -15,7 +17,7 @@ public interface WxCardInfoService { * @return */ PageInfo listAsPage(WxCardVo record, Integer pageIndex, Integer pageSize); - + /** * 根据Id获得实体 * diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index e9402d274..409a11c46 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -21,7 +21,22 @@ public interface WxCouponService { * @return */ PageInfo listAsPage(WxCoupon record, Integer pageIndex, Integer pageSize, Integer type); - + + /** + * 列表 + * @param record + * @return + */ + List list(WxCoupon record); + + + /** + * 卡类列表,包括统计 + * @param record + * @return + */ + PageInfo findCountData(WxCoupon record,Integer pageNum, Integer pageSize); + /** * 根据Id获得实体 * @@ -47,4 +62,18 @@ public interface WxCouponService { void deleteById(Long id); + /** + * 查询时间段内销售金额 + * @param wxCoupon + * @return + */ + List findSaleMoneyByDate(WxCoupon wxCoupon); + + /** + * 查询时间段内核销金额 + * @param wxCoupon + * @return + */ + List findPaymentByDate(WxCoupon wxCoupon); + } 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 60c9ee651..a25dbfbbe 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -363,6 +363,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); params.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode()); List markingSceneDataVos = wxCarCmdLogMapper.queryForSceneRepotyHistoryCar(params); + triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getxTime, p -> p.getTriggerCount())); } else if(markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.B_MICROPAY.getCode())){ // B端刷卡支付发券 //获取B端刷卡数 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java index c157a56c2..c3ac2869f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java @@ -10,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.iformall.common.IdWorker; +import java.util.List; + @Service public class WxCardInfoServiceImpl implements WxCardInfoService { @@ -43,12 +45,4 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { public void deleteById(Long id) { wxCardInfoMapper.deleteByPrimaryKey(id); } - - - - - - - - } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 0f48ea6a4..14acc7114 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -125,6 +125,16 @@ public class WxCouponServiceImpl implements WxCouponService { } } + @Override + public List list(WxCoupon record) { + return wxCouponMapper.findList(record); + } + + @Override + public PageInfo findCountData(WxCoupon record,Integer pageNum, Integer pageSize) { + return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxCouponMapper.findCountData(record)); + } + @Override public WxCoupon getById(Long id) { return wxCouponMapper.selectByPrimaryKey(id); @@ -315,4 +325,13 @@ public class WxCouponServiceImpl implements WxCouponService { wxCouponMapper.deleteByPrimaryKey(id); } + @Override + public List findSaleMoneyByDate(WxCoupon wxCoupon) { + return wxCouponMapper.findSaleMoneyByDate(wxCoupon); + } + + @Override + public List findPaymentByDate(WxCoupon wxCoupon) { + return wxCouponMapper.findPaymentByDate(wxCoupon); + } } diff --git a/mallinkService/src/main/resources/mapper/WxCardInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCardInfoMapper.xml index cce293dd1..509dcd86e 100644 --- a/mallinkService/src/main/resources/mapper/WxCardInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCardInfoMapper.xml @@ -69,7 +69,7 @@ #{idItem} - + order by ${sortColumns} @@ -195,8 +195,4 @@ - - - - diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index f6d82f0c3..b839f6d99 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -33,6 +33,10 @@ + + + + @@ -182,6 +186,27 @@ + + where `type` = 100 @@ -653,4 +678,24 @@ and m.status = 1) = 0 + + +