diff --git a/mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java b/mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java index d23d30ec6..e715b55a3 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/MarkingDataReportController.java @@ -28,16 +28,35 @@ public class MarkingDataReportController extends BaseController { public ResultData findCouponData() { return new ResultData(markingDataReportService.getCouponDate(getTenantId())); } + + @ApiOperation("查询券数据列表") + @GetMapping("/couponDataList") + public ResultData findCouponDataList(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto) { + return new ResultData(markingDataReportService.getCouponDateList(getTenantId(),markingCouponDataReportDto)); + } + @ApiOperation("查询场景投放券数据") @GetMapping("/sceneData") public ResultData findSceneData() { return new ResultData(markingDataReportService.getSceneData(getTenantId())); } - @ApiOperation("查询券数据列表") - @GetMapping("/couponDataList") - public ResultData findCouponDataList(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto) { - return new ResultData(markingDataReportService.getCouponDateList(getTenantId(),markingCouponDataReportDto)); + @ApiOperation("查询场景营销数据列表") + @GetMapping("/sceneDataList") + public ResultData findSceneDataList(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto) { + return new ResultData(markingDataReportService.getSceneDataList(getTenantId(),markingCouponDataReportDto)); + } + + @ApiOperation("查询触达用户数数据") + @GetMapping("/touchUsersData") + public ResultData touchUsersData() { + return new ResultData(markingDataReportService.getTouchUsersReportData(getTenantId())); + } + + @ApiOperation("查询触达用户数数据列表") + @GetMapping("/touchUsersDataList") + public ResultData touchUsersDataList(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto) { + return new ResultData(markingDataReportService.getTouchUsersReportList(getTenantId(),markingCouponDataReportDto)); } diff --git a/mallinkService/src/main/java/com/simple/domain/po/WxUserVisit.java b/mallinkService/src/main/java/com/simple/domain/po/WxUserVisit.java index c405528e4..c347cfdf9 100644 --- a/mallinkService/src/main/java/com/simple/domain/po/WxUserVisit.java +++ b/mallinkService/src/main/java/com/simple/domain/po/WxUserVisit.java @@ -39,9 +39,12 @@ public class WxUserVisit implements Serializable { public void setIds(List ids) { this.ids = ids; } - - - + + + /*租户ID**/ + @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") + private String tenantId; + /*日期字符串**/ @io.swagger.annotations.ApiModelProperty(value="日期字符串",name="refDate") private String refDate; @@ -141,6 +144,13 @@ public class WxUserVisit implements Serializable { public void setCreateDate(Date _createDate) { createDate = _createDate; } + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } diff --git a/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java index d91cfb298..bb919f217 100644 --- a/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java @@ -3,6 +3,7 @@ package com.simple.mapper; import java.util.*; import com.simple.common.CommonMapper; import com.simple.domain.vo.MarkingCouponDataReportVo; +import com.simple.domain.vo.TouchUsersReportVo; import com.simple.domain.vo.WxCouponOrderBVo; import com.simple.domain.vo.WxCouponOrderCVo; import org.apache.ibatis.annotations.Param; @@ -24,10 +25,14 @@ public interface WxCouponOrderMapper extends CommonMapper { List findListOfCUser(WxCouponOrder wxCouponOrder); List findListOfAdmin(WxCouponOrder wxCouponOrder); + //营销报表 券数据图表 List couponDataMap(HashMap params); + //营销报表 券数据报表 List couponDataList(HashMap params); //返回日期格式yy-MM-dd + //营销报表 触达用户数 + List touchUsersReportList(HashMap params); //返回日期格式yy-MM-dd /** diff --git a/mallinkService/src/main/java/com/simple/mapper/WxUserVisitMapper.java b/mallinkService/src/main/java/com/simple/mapper/WxUserVisitMapper.java index 31d1418ff..d73973b81 100644 --- a/mallinkService/src/main/java/com/simple/mapper/WxUserVisitMapper.java +++ b/mallinkService/src/main/java/com/simple/mapper/WxUserVisitMapper.java @@ -2,12 +2,15 @@ package com.simple.mapper; import java.util.*; import com.simple.common.CommonMapper; +import com.simple.domain.vo.TouchUsersReportVo; import org.apache.ibatis.annotations.Param; import com.simple.domain.po.WxUserVisit; public interface WxUserVisitMapper extends CommonMapper { List findList(WxUserVisit wxUserVisit); + + List touchUsersReportList(HashMap params); diff --git a/mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java b/mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java index e36ed7d3c..d28778597 100644 --- a/mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java +++ b/mallinkService/src/main/java/com/simple/service/MarkingDataReportService.java @@ -4,6 +4,7 @@ import com.simple.domain.dto.MarkingCouponDataReportDto; import com.simple.domain.vo.MarkingCouponDataReportVo; import com.simple.domain.vo.MarkingSceneDataReportVo; import com.simple.domain.vo.MarkingSceneDataVo; +import com.simple.domain.vo.TouchUsersReportVo; import java.util.List; import java.util.Map; @@ -19,4 +20,8 @@ public interface MarkingDataReportService { List getCouponDateList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto); List getSceneDataList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto); + + List getTouchUsersReportList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto); + + List getTouchUsersReportData(String tenantId); } diff --git a/mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java index d52719537..916cdff5b 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/MarkingDataReportServiceImpl.java @@ -1,12 +1,15 @@ package com.simple.service.impl; import com.simple.domain.dto.MarkingCouponDataReportDto; +import com.simple.domain.po.WxUserVisit; import com.simple.domain.vo.MarkingCouponDataReportVo; import com.simple.domain.vo.MarkingSceneDataReportVo; import com.simple.domain.vo.MarkingSceneDataVo; +import com.simple.domain.vo.TouchUsersReportVo; import com.simple.mapper.WxCarCmdLogMapper; import com.simple.mapper.WxCouponActionLogMapper; import com.simple.mapper.WxCouponOrderMapper; +import com.simple.mapper.WxUserVisitMapper; import com.simple.service.MarkingDataReportService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -28,6 +31,8 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { private WxCouponActionLogMapper wxCouponActionLogMapper; @Autowired private WxCarCmdLogMapper wxCarCmdLogMapper; + @Autowired + private WxUserVisitMapper wxUserVisitMapper; //取本月第一天 private Date getFirstDayOfMonth() { @@ -197,7 +202,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { params.put("startTime", convertDate(markingCouponDataReportDto.getStartTime())); params.put("endTime", convertDateAndAdd(convertDate(markingCouponDataReportDto.getEndTime()), 1)); //停车发券数 停车发券被核销数 核销发券数 核销发券被核销数 - List templist = wxCouponActionLogMapper.sceneDataMap(params); + List templist = wxCouponActionLogMapper.sceneDataList(params); List list = new ArrayList<>(); for (MarkingSceneDataReportVo temp: templist) { @@ -208,6 +213,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { }else{ vo.setSendCount(temp.getVerifySendCount()); } + list.add(vo); } @@ -255,16 +261,47 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { return list; } - public Map getTouchUsersReport(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto){ - + @Override + public List getTouchUsersReportList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto){ //获取领取人数 //获取领取量 //获取核销人数 //核销量 + HashMap params = new HashMap<>(); + params.put("tenantId", tenantId); + params.put("startTime", convertDate(markingCouponDataReportDto.getStartTime())); + params.put("endTime", convertDateAndAdd(convertDate(markingCouponDataReportDto.getEndTime()), 1)); + List couponDatalist = wxCouponOrderMapper.touchUsersReportList(params); + + //查询UV PV + HashMap params1 = new HashMap<>(); + params1.put("tenantId", tenantId); + params1.put("startTime", convertDate(markingCouponDataReportDto.getStartTime())); + params1.put("endTime", convertDateAndAdd(convertDate(markingCouponDataReportDto.getEndTime()), 1)); + List wxUserVisitList = wxUserVisitMapper.touchUsersReportList(params1); + Map visitMap = wxUserVisitList.stream().collect(Collectors.toMap(TouchUsersReportVo::getxTime, p -> p)); + for (TouchUsersReportVo temp:couponDatalist) { + if(visitMap.get(temp.getxTime())!=null){ + temp.setUv(visitMap.get(temp.getxTime()).getUv()); + temp.setPv(visitMap.get(temp.getxTime()).getPv()); + } + } + return couponDatalist; + } + + @Override + public List getTouchUsersReportData(String tenantId){ + //查询UV PV + HashMap params = new HashMap<>(); + params.put("tenantId", tenantId); + params.put("startTime", getFirstDayOfMonth()); + params.put("endTime", addDay(1)); + List wxUserVisitList = wxUserVisitMapper.touchUsersReportList(params); + return wxUserVisitList; - return null; } + //计算最大公约数 public int gcd(int x, int y){ // 这个是运用辗转相除法求 两个数的 最大公约数 看不懂可以百度 // 下 if(y == 0) diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index cf871e537..c18da2d3d 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -390,6 +390,14 @@ from wx_coupon_order where tenant_id=#{tenantId} AND create_date >= #{startTime} and create_date <= #{endTime} GROUP BY createTime + + diff --git a/mallinkService/src/main/resources/mapper/WxUserVisitMapper.xml b/mallinkService/src/main/resources/mapper/WxUserVisitMapper.xml index c77ee5ee8..1e7ad8c7f 100644 --- a/mallinkService/src/main/resources/mapper/WxUserVisitMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxUserVisitMapper.xml @@ -3,6 +3,7 @@ + @@ -17,7 +18,7 @@ - `id`,`ref_date`,`day_date`,`session_cnt`,`visit_pv`,`visit_uv`,`visit_uv_new`,`stay_time_uv`,`stay_time_session`,`visit_depth`,`app_id`,`create_date` + `id`,`tenant_id`,`ref_date`,`day_date`,`session_cnt`,`visit_pv`,`visit_uv`,`visit_uv_new`,`stay_time_uv`,`stay_time_session`,`visit_depth`,`app_id`,`create_date` @@ -26,7 +27,11 @@ and `id` = #{id} - + + + and `tenant_id` like concat('%', #{tenantId},'%') + + and `ref_date` like concat('%', #{refDate},'%') @@ -95,6 +100,11 @@ select from wx_user_visit + +