diff --git a/mallinkAdmin/src/main/resources/db/migration/V201906251915__ADD_MD_FOR_COUPON_ACTION.sql b/mallinkAdmin/src/main/resources/db/migration/V201906251915__ADD_MD_FOR_COUPON_ACTION.sql new file mode 100644 index 000000000..c9ef1862a --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201906251915__ADD_MD_FOR_COUPON_ACTION.sql @@ -0,0 +1,4 @@ +ALTER TABLE `wx_coupon_action_log` +ADD COLUMN `create_time_md` varchar(8) NULL DEFAULT NULL AFTER `create_time`; + +UPDATE `wx_coupon_action_log` set `create_time_md` = DATE_FORMAT(create_time, '%m/%d'); \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java index a96a6187b..5caef8362 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java @@ -32,12 +32,14 @@ public class WxCouponActionLog implements Serializable { private Long couponId; @io.swagger.annotations.ApiModelProperty(value="券包ID",name="couponOrderId") private Long couponOrderId; - @io.swagger.annotations.ApiModelProperty(value="0:精准 1:主动领取 2:用户购买 3:停车 4:核销",name="channelType") + @io.swagger.annotations.ApiModelProperty(value="发券方式:0.精准发券,1.主动领取(保留),2.停车发券,3.核销发券,4.B端刷卡发券,5.交易发券,6.定期发券",name="channelType") private Integer channelType; - @io.swagger.annotations.ApiModelProperty(value="",name="channelId") + @io.swagger.annotations.ApiModelProperty(value="channelId",name="channelId") private Long channelId; - @io.swagger.annotations.ApiModelProperty(value="",name="createTime") + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createTime") private Date createTime; + @io.swagger.annotations.ApiModelProperty(value="月日",name="createTimeMd") + private String createTimeMd; public static enum Field { @@ -48,6 +50,7 @@ public class WxCouponActionLog implements Serializable { ,ChannelType_ASC("`channel_type` ASC"),ChannelType_DESC("`channel_type` DESC") ,ChannelId_ASC("`channel_id` ASC"),ChannelId_DESC("`channel_id` DESC") ,CreateTime_ASC("`create_time` ASC"),CreateTime_DESC("`create_time` DESC") + ,CreateTimeMd_ASC("`create_time_md` ASC"),CreateTimeMd_DESC("`create_time_md` DESC") ; private String value; Field(String value){ diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/MarkingSceneDataReportTVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/MarkingSceneDataReportTVo.java new file mode 100644 index 000000000..981b0bb58 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/MarkingSceneDataReportTVo.java @@ -0,0 +1,14 @@ +package com.iformall.domain.vo; + +import lombok.Data; + +/** + * Created by syf on 2018/8/29. + */ +@Data +public class MarkingSceneDataReportTVo { + + private String xTime; + private int channelType; + private int count; +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponActionLogMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponActionLogMapper.java index f18091e51..12e84ab64 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponActionLogMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponActionLogMapper.java @@ -3,6 +3,7 @@ package com.iformall.mapper; import java.util.*; import com.iformall.common.CommonMapper; import com.iformall.domain.dto.MarkingCouponDataReportDto; +import com.iformall.domain.vo.MarkingSceneDataReportTVo; import com.iformall.domain.vo.MarkingSceneDataReportVo; import com.iformall.domain.vo.MarkingSceneDataVo; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,9 @@ public interface WxCouponActionLogMapper extends CommonMapper findList(WxCouponActionLog wxCouponActionLog); - List sceneDataMap(HashMap params); + List sceneDataMap(HashMap params); // will be deleted + + List getSceneDataMap(HashMap params); List sceneDataMapJoinCouponOrder(HashMap params); 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 ebfd8f66c..c11425bb5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -158,7 +158,8 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { params.put("startTime", addDay(-30)); params.put("endTime", addDay(1)); //停车发券数 停车发券被核销数 核销发券数 核销发券被核销数 - List list = wxCouponActionLogMapper.sceneDataMap(params); + // TODO DELETE sceneDataMap + List sceneList = wxCouponActionLogMapper.getSceneDataMap(params); //停车发券被核销数 HashMap params1 = new HashMap<>(); @@ -196,13 +197,6 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { 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()); String enddate = DateUtils.getTimeBefore(1,new Date()); List tjTimeList = DateUtils.getTjTimeList(startdate, enddate, "0"); @@ -210,30 +204,44 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { List tempDatalist =new LinkedList<>(); for(String tj:tjList){ - Optional first = list.stream().filter(c -> c.getXTime().equals(tj)).findFirst(); - - MarkingSceneDataReportVo msdVo; - if(!first.isPresent()){ - msdVo = new MarkingSceneDataReportVo(); - msdVo.setXTime(tj); - msdVo.setCarCount(0); - msdVo.setParkCount(0); - msdVo.setVerifyCount(0); - msdVo.setMicroPayCount(0); - msdVo.setOrderCount(0); - msdVo.setTempCount(0); + MarkingSceneDataReportVo msdVo = new MarkingSceneDataReportVo(); + msdVo.setXTime(tj); + Optional carStop = sceneList.stream().filter(c -> c.getXTime().equals(tj) && c.getChannelType() == EnumCouponSendSendType.CAR_STOP.getCode()).findFirst(); + if(!carStop.isPresent()) { msdVo.setParkSendCount(0); + } else { + MarkingSceneDataReportTVo tvo = carStop.get(); + msdVo.setParkSendCount(tvo.getCount()); + } + + Optional couponVerify = sceneList.stream().filter(c -> c.getXTime().equals(tj) && c.getChannelType() == EnumCouponSendSendType.COUPON_VERIFY.getCode()).findFirst(); + if(!couponVerify.isPresent()) { msdVo.setVerifySendCount(0); + } else { + MarkingSceneDataReportTVo tvo = couponVerify.get(); + msdVo.setVerifySendCount(tvo.getCount()); + } + + Optional microPay = sceneList.stream().filter(c -> c.getXTime().equals(tj) && c.getChannelType() == EnumCouponSendSendType.B_MICROPAY.getCode()).findFirst(); + if(!microPay.isPresent()) { msdVo.setMicroPaySendCount(0); + } else { + MarkingSceneDataReportTVo tvo = microPay.get(); + msdVo.setMicroPaySendCount(tvo.getCount()); + } + + Optional orderSend = sceneList.stream().filter(c -> c.getXTime().equals(tj) && c.getChannelType() == EnumCouponSendSendType.B_MICROPAY.getCode()).findFirst(); + if(!orderSend.isPresent()) { msdVo.setOrderSendCount(0); - msdVo.setTotal(0); } else { - msdVo = first.get(); - msdVo.setTotal(msdVo.getParkSendCount() + - msdVo.getVerifySendCount() + - msdVo.getMicroPaySendCount() + - msdVo.getOrderSendCount()); + MarkingSceneDataReportTVo tvo = orderSend.get(); + msdVo.setOrderSendCount(tvo.getCount()); } + msdVo.setTotal(msdVo.getParkSendCount() + + msdVo.getVerifySendCount() + + msdVo.getMicroPaySendCount() + + msdVo.getOrderSendCount()); + tempDatalist.add(msdVo); } diff --git a/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml index 67302f9ea..a95022773 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml @@ -99,6 +99,17 @@ order by xTime desc + +