diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java index 2bffb0df8..515aba748 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java @@ -5,6 +5,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.WxCoupon; import com.iformall.enums.*; import com.iformall.service.WxCouponService; +import com.iformall.utils.DateUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -131,7 +132,7 @@ public class WxCouponController extends BaseController { wxCoupon.setStartdate(c.getTime()); } if(wxCoupon.getEnddate() == null){ - wxCoupon.setEnddate(new Date()); + wxCoupon.setEnddate(DateUtils.stringToDate(DateUtils.getSystemTime("yyyy-MM-dd") + " 23:59:59")); } result.put("list",wxCouponService.findCountData(wxCoupon,pageNum,pageSize)); return new ResultData(result); @@ -152,7 +153,7 @@ public class WxCouponController extends BaseController { wxCoupon.setStartdate(c.getTime()); } if(wxCoupon.getEnddate() == null){ - wxCoupon.setEnddate(new Date()); + wxCoupon.setEnddate(DateUtils.stringToDate(DateUtils.getSystemTime("yyyy-MM-dd") + " 23:59:59")); } return new ResultData(wxCouponService.findCouponData(wxCoupon,pageNum,pageSize)); } @@ -172,7 +173,7 @@ public class WxCouponController extends BaseController { wxCoupon.setStartdate(c.getTime()); } if(wxCoupon.getEnddate() == null){ - wxCoupon.setEnddate(new Date()); + wxCoupon.setEnddate(DateUtils.stringToDate(DateUtils.getSystemTime("yyyy-MM-dd") + " 23:59:59")); } return new ResultData(wxCouponService.findPressData(wxCoupon,pageNum,pageSize)); } 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 1454d0f71..ed8be3115 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -182,9 +182,46 @@ public class WxCoupon implements Serializable { @io.swagger.annotations.ApiModelProperty(value="退款数量",name="backpayCount") @Transient private Integer backpayCount; + + /**砍价发起次数**/ + @io.swagger.annotations.ApiModelProperty(value="砍价发起次数",name="pressSendCount") + @Transient + private Integer pressSendCount; + /**砍价成功次数**/ + @io.swagger.annotations.ApiModelProperty(value="砍价成功次数",name="pressSuccCount") + @Transient + private Integer pressSuccCount; + /**砍价参与人数**/ + @io.swagger.annotations.ApiModelProperty(value="砍价参与人数",name="pressJoinCount") + @Transient + private Integer pressJoinCount; //营销分析-----end----- + public Integer getPressSendCount() { + return pressSendCount; + } + + public void setPressSendCount(Integer pressSendCount) { + this.pressSendCount = pressSendCount; + } + + public Integer getPressSuccCount() { + return pressSuccCount; + } + + public void setPressSuccCount(Integer pressSuccCount) { + this.pressSuccCount = pressSuccCount; + } + + public Integer getPressJoinCount() { + return pressJoinCount; + } + + public void setPressJoinCount(Integer pressJoinCount) { + this.pressJoinCount = pressJoinCount; + } + public Long getXcount() { return xcount; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index a7e9371c2..bd6340454 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param; import com.iformall.domain.po.WxCoupon; public interface WxCouponMapper extends CommonMapper { + List findPressData(WxCoupon wxCoupon); List findCouponData(WxCoupon wxCoupon); List findCountData(WxCoupon wxCoupon); List findList(WxCoupon wxCoupon); @@ -58,4 +59,12 @@ public interface WxCouponMapper extends CommonMapper { Long findSumPriceSaleMoney(WxCoupon wxCoupon); Long findSumPricePayMent(WxCoupon wxCoupon); Long findSumSubsidyMoney(WxCoupon wxCoupon); + + //-------砍价-------- + List pressSendHistory(WxCoupon wxCoupon); + List pressSuccHistory(WxCoupon wxCoupon); + List pressPaymentHistory(WxCoupon wxCoupon); + Double pressSuccRate(WxCoupon wxCoupon); +// Long sumSubsidy(WxCoupon wxCoupon); + Long sumJoin(WxCoupon wxCoupon); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index 14f636e6a..2c4645823 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -149,4 +149,36 @@ public interface WxCouponService { Long findSumPriceSaleMoney(WxCoupon wxCoupon); Long findSumPricePayMent(WxCoupon wxCoupon); Long findSumSubsidyMoney(WxCoupon wxCoupon); + + + /** + * 砍价发起次数走势 + * @return + */ + List pressSendHistory(WxCoupon wxCoupon); + /** + * 砍价成功次数走势 + * @return + */ + List pressSuccHistory(WxCoupon wxCoupon); + /** + * 砍价核销数量走势 + * @return + */ + List pressPaymentHistory(WxCoupon wxCoupon); + /** + * 砍价转化率 + * @return + */ + Double pressSuccRate(WxCoupon wxCoupon); + /** + * 商场补贴金额 + * @return + */ +// Long sumSubsidy(WxCoupon wxCoupon); + /** + * 砍价参与人数 + * @return + */ + Long sumJoin(WxCoupon wxCoupon); } 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 7b31bbea0..5cf6f4654 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -1560,6 +1560,53 @@ public class WxChartServiceImpl implements WxChartDataService { return new ResultData(result); } + //砍价营销数据 + if (chart.equals(EnumChart.SALE_PRESS.getCode())) { + WxCoupon wxCoupon = new WxCoupon(); + Map result = new HashedMap(); + + //默认时间本月第一天,截止到当天 + if(paramsMap.get("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); + wxCoupon.setStartdate(startTime); + } + if(paramsMap.get("enddate") == null){ + wxCoupon.setEnddate(DateUtils.stringToDate(DateUtils.getSystemTime("yyyy-MM-dd") + " 23:59:59")); + }else{ + Date endTime = DateUtils.stringToDate(enddate); + wxCoupon.setEnddate(endTime); + } + List pressSendHistory = wxCouponService.pressSendHistory(wxCoupon); + List pressSuccHistory = wxCouponService.pressSuccHistory(wxCoupon); + List pressPaymentHistory = wxCouponService.pressPaymentHistory(wxCoupon); + + Map pressSendHistoryMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); + Map pressSuccHistoryMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); + Map pressPaymentHistoryMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate()); + + for (WxCoupon coupon:pressSendHistory){ + pressSendHistoryMap.put(coupon.getXtime(),coupon.getXcount()); + } + for (WxCoupon coupon:pressSuccHistory){ + pressSuccHistoryMap.put(coupon.getXtime(),coupon.getXcount()); + } + for (WxCoupon coupon:pressPaymentHistory){ + pressPaymentHistoryMap.put(coupon.getXtime(),coupon.getXcount()); + } + result.put("pressSendHistory",pressSendHistoryMap); + result.put("pressSuccHistory",pressSuccHistoryMap); + result.put("pressPaymentHistory",pressPaymentHistoryMap); + + result.put("pressSuccRate",wxCouponService.pressSuccRate(wxCoupon)); + result.put("sumJoin",wxCouponService.sumJoin(wxCoupon)); + return new ResultData(result); + } + //拼团营销数据 if (chart.equals(EnumChart.SALE_GROUP.getCode())) { Map params = new HashMap<>(); 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 ac9cae763..6675c83f1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -336,17 +336,20 @@ public class WxCouponServiceImpl implements WxCouponService { @Override public Long findSaleCardCount(WxCoupon wxCoupon) { - return wxCouponMapper.findSaleCardCount(wxCoupon); + Long count = wxCouponMapper.findSaleCardCount(wxCoupon); + return (count==null)?0l:count; } @Override public Long findTranCardCount(WxCoupon wxCoupon) { - return wxCouponMapper.findTranCardCount(wxCoupon); + Long count = wxCouponMapper.findTranCardCount(wxCoupon); + return (count==null)?0l:count; } @Override public Long findSubsidyMoney(WxCoupon wxCoupon) { - return wxCouponMapper.findSubsidyMoney(wxCoupon); + Long count = wxCouponMapper.findSubsidyMoney(wxCoupon); + return (count==null)?0l:count; } @Override @@ -377,22 +380,51 @@ public class WxCouponServiceImpl implements WxCouponService { @Override public Long findSumPriceSaleMoney(WxCoupon wxCoupon) { - return wxCouponMapper.findSumPriceSaleMoney(wxCoupon); + Long count = wxCouponMapper.findSumPriceSaleMoney(wxCoupon); + return (count==null)?0l:count; } @Override public Long findSumPricePayMent(WxCoupon wxCoupon) { - return wxCouponMapper.findSumPricePayMent(wxCoupon); + Long count = wxCouponMapper.findSumPricePayMent(wxCoupon); + return (count==null)?0l:count; } @Override public Long findSumSubsidyMoney(WxCoupon wxCoupon) { - return wxCouponMapper.findSumSubsidyMoney(wxCoupon); + Long count = wxCouponMapper.findSumSubsidyMoney(wxCoupon); + return (count==null)?0l:count; } - @Override public PageInfo findPressData(WxCoupon record, Integer pageNum, Integer pageSize) { - return null; + return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxCouponMapper.findPressData(record)); + } + + @Override + public List pressSendHistory(WxCoupon wxCoupon) { + return wxCouponMapper.pressSendHistory(wxCoupon); + } + + @Override + public List pressSuccHistory(WxCoupon wxCoupon) { + return wxCouponMapper.pressSuccHistory(wxCoupon); + } + + @Override + public List pressPaymentHistory(WxCoupon wxCoupon) { + return wxCouponMapper.pressPaymentHistory(wxCoupon); + } + + @Override + public Double pressSuccRate(WxCoupon wxCoupon) { + Double count = wxCouponMapper.pressSuccRate(wxCoupon); + return (count==null)?0l:count; + } + + @Override + public Long sumJoin(WxCoupon wxCoupon) { + Long count = wxCouponMapper.sumJoin(wxCoupon); + return (count==null)?0l:count; } } diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 0a3b84d59..c76eacbae 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -37,6 +37,10 @@ + + + + @@ -668,7 +672,8 @@ @@ -676,7 +681,8 @@ select DATE_FORMAT(ci.create_date,'%Y-%m-%d') xtime,sum(wcs.payment) xcount from wx_card_info ci left join wx_coupon c on c.id = ci.coupon_id left join wx_card_spend wcs on wcs.card_id = ci.id - where ci.create_date between #{startdate} and #{enddate} + where c.type = 100 + and ci.create_date between #{startdate} and #{enddate} group by xtime @@ -685,19 +691,20 @@ from wx_card_info ci left join wx_coupon c on c.id = ci.coupon_id left join wx_coupon_order co on co.id = ci.id - where c.create_date between #{startdate} and #{enddate} + where c.type = 100 + and c.create_date between #{startdate} and #{enddate} + + + + + + +