diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java index b4f73e4d5..8dbc0324f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java @@ -92,9 +92,10 @@ public class MarkingDataReportController extends BaseController { public ResultData touchUsersDataList(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] MarkingDataReportController::touchUsersDataList"); TenantEntity tenantInfo = getTenantInfo(); - List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); - markingCouponDataReportDto.setTenantEntitys(tenantEntitys); + //List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); + //markingCouponDataReportDto.setTenantEntitys(tenantEntitys); markingCouponDataReportDto.updateTenantInfo(tenantInfo); + markingCouponDataReportDto.setTenantEntity(tenantInfo); return new ResultData(markingDataReportService.getTouchUsersReportList(markingCouponDataReportDto, pageNum, pageSize)); } @@ -103,9 +104,10 @@ public class MarkingDataReportController extends BaseController { @SystemControllerLog(description = "券数据-触达用户数数据导出") public void exportTouchUsersData(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto, HttpServletRequest request, HttpServletResponse response) { TenantEntity tenantInfo = getTenantInfo(); - List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); - markingCouponDataReportDto.setTenantEntitys(tenantEntitys); + //List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); + //markingCouponDataReportDto.setTenantEntitys(tenantEntitys); markingCouponDataReportDto.updateTenantInfo(tenantInfo); + markingCouponDataReportDto.setTenantEntity(tenantInfo); markingDataReportService.exportTouchUsersData(request, response, markingCouponDataReportDto); } diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java index 947668291..4d3173d61 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java @@ -27,6 +27,8 @@ public class MarkingCouponDataReportDto extends TenantEntity { @TableField(exist = false) private List tenantEntitys; + @TableField(exist = false) + private TenantEntity tenantEntity; @TableField(exist = false) @SortColumn(column = "xTime") diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index ffd01ef62..40a150764 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -58,8 +58,8 @@ public interface WxCouponOrderMapper extends CommonMapper { //营销报表 券数据图表 //List couponDataMap(HashMap params); - HashMap findCreateDateCouponOrderCount(HashMap params); - HashMap findCreateDateCouponOrderUserCount(HashMap params); + List> findCreateDateCouponOrderCount(HashMap params); + List> findCreateDateCouponOrderUserCount(HashMap params); //营销报表 券数据报表 List couponDataList(HashMap params); //返回日期格式yy-MM-dd @@ -82,7 +82,7 @@ public interface WxCouponOrderMapper extends CommonMapper { List queryForSceneRepotyHistoryVerified(HashMap params); List queryForSceneRepotyHistoryOrdered(HashMap params); - List queryForSceneRepotyMechantHistoryOrdered(HashMap params); + //List queryForSceneRepotyMechantHistoryOrdered(HashMap params); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index de8c1db2d..650cac523 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -224,8 +224,6 @@ public interface WxCouponOrderService { void statisticsWriteOff(WxCouponOrder wxCouponOrder, Map resultMap); - Integer findCount(WxCouponOrder wxCouponOrder); - PageInfo goodsListAsPage(WxCouponOrderBVo couponOrderBvo, Integer pageNum, Integer pageSize); List couponDataMap(TenantEntity tenantEntity,Date startTime,Date endTime); 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 e325a5f34..a8dde836d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -309,6 +309,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { params.put("parentTenantId", tenantEntity.getParentTenantId()); } + params.put("tenantEntity", tenantEntity); if (markingCouponDataReportDto.getStartTime() != null) params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(), 0)); if (markingCouponDataReportDto.getEndTime() != null) @@ -491,13 +492,13 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getXtime, p -> p.getTriggerCount())); }else if (markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.MERCHANT.getCode())) { //购买发券数 - if (markingCouponDataReportDto.getStartTime() != null) - params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); - if (markingCouponDataReportDto.getEndTime() != null) - params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); - params.put("channelType", markingCouponDataReportDto.getType()); - List markingSceneDataVos = wxCouponOrderMapper.queryForSceneRepotyMechantHistoryOrdered(params); - triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getXtime, p -> p.getTriggerCount())); +// if (markingCouponDataReportDto.getStartTime() != null) +// params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); +// if (markingCouponDataReportDto.getEndTime() != null) +// params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); +// params.put("channelType", markingCouponDataReportDto.getType()); +// List markingSceneDataVos = wxCouponOrderMapper.queryForSceneRepotyMechantHistoryOrdered(params); +// triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getXtime, p -> p.getTriggerCount())); } NumberFormat nf = NumberFormat.getPercentInstance(); nf.setMinimumFractionDigits(2); 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 44d90ab30..1debcea61 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -1456,9 +1456,7 @@ public class WxChartServiceImpl implements WxChartDataService { wxCouponOrder.setStartTime(startTime); wxCouponOrder.setEndTime(endTime); // wxCouponOrder.updateTenantInfo(tenantEntity); - //TODO 待优化数据 - //int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 - int thisMonthCount = 0; + int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 c.clear(); c.add(Calendar.DAY_OF_YEAR, -1); c.set(Calendar.HOUR_OF_DAY, 0); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 56afdbf7b..c2debd45e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -2384,11 +2384,6 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { resultMap.put("countTingche",wxCouponOrderMapper.findWriteOffCount(wxCouponOrder)); } - @Override - public Integer findCount(WxCouponOrder wxCouponOrder) { - return wxCouponOrderMapper.findCount(wxCouponOrder); - } - @Override public PageInfo goodsListAsPage(WxCouponOrderBVo record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findGoodsList(record)); @@ -2405,23 +2400,35 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { paramMap.put("parentTenantId", tenantEntity.getParentTenantId()); paramMap.put("startCreateDateTimes", startTime.getTime()); paramMap.put("endCreateDateTimes", endTime.getTime()); - Map couponCount = wxCouponOrderMapper.findCreateDateCouponOrderCount(paramMap); - if (null != couponCount) { - for (Iterator it = couponCount.keySet().iterator();it.hasNext();) { - String date = it.next(); - if (!dateList.contains(date)){ - dateList.add(date); + List> couponCountList = wxCouponOrderMapper.findCreateDateCouponOrderCount(paramMap); + Map couponCount = new HashMap(); + if (null != couponCountList) { + for (int i = 0; i < couponCountList.size();i++) { + Map map = couponCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + couponCount.put(date, count); } } } //券领取人数 - Map couponUserCount = wxCouponOrderMapper.findCreateDateCouponOrderUserCount(paramMap); - if (null != couponUserCount) { - for (Iterator it = couponUserCount.keySet().iterator();it.hasNext();) { - String date = it.next(); - if (!dateList.contains(date)){ - dateList.add(date); + List> couponUserCountList = wxCouponOrderMapper.findCreateDateCouponOrderUserCount(paramMap); + Map couponUserCount = new HashMap(); + if (null != couponUserCountList) { + for (int i = 0; i < couponUserCountList.size();i++) { + Map map = couponUserCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + couponUserCount.put(date, count); } } } @@ -2433,23 +2440,35 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { verfiyParamMap.put("couponOrderStatus", 1); verfiyParamMap.put("updateStartTime", startTime); verfiyParamMap.put("updateEndTime", endTime); - Map verfiyCount = wxCouponOrderMapper.findCreateDateCouponOrderCount(verfiyParamMap); - if (null != verfiyCount) { - for (Iterator it = verfiyCount.keySet().iterator();it.hasNext();) { - String date = it.next(); - if (!dateList.contains(date)){ - dateList.add(date); + List> verfiyCountList = wxCouponOrderMapper.findCreateDateCouponOrderCount(verfiyParamMap); + Map verfiyCount = new HashMap(); + if (null != verfiyCountList) { + for (int i = 0; i < verfiyCountList.size();i++) { + Map map = verfiyCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + verfiyCount.put(date, count); } } } //券核销人数 - Map verfiyUserCount = wxCouponOrderMapper.findCreateDateCouponOrderUserCount(verfiyParamMap); - if (null != verfiyUserCount) { - for (Iterator it = verfiyUserCount.keySet().iterator();it.hasNext();) { - String date = it.next(); - if (!dateList.contains(date)){ - dateList.add(date); + List> verfiyUserCountList = wxCouponOrderMapper.findCreateDateCouponOrderUserCount(verfiyParamMap); + Map verfiyUserCount = new HashMap(); + if (null != verfiyUserCountList) { + for (int i = 0; i < verfiyUserCountList.size();i++) { + Map map = verfiyUserCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + verfiyUserCount.put(date, count); } } } @@ -2460,25 +2479,25 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { String date = dateList.get(i); MarkingCouponDataReportVo vo = new MarkingCouponDataReportVo(); if (null != couponCount && couponCount.containsKey(date)) { - vo.setCouponCount(couponCount.get(date)); + vo.setCouponCount(couponCount.get(date).intValue()); }else { vo.setCouponCount(0); } if (null != couponUserCount && couponUserCount.containsKey(date)) { - vo.setCouponUserCount(couponUserCount.get(date));; + vo.setCouponUserCount(couponUserCount.get(date).intValue());; }else { vo.setCouponUserCount(0); } if (null != verfiyCount && verfiyCount.containsKey(date)) { - vo.setVerifyCount(verfiyCount.get(date)); + vo.setVerifyCount(verfiyCount.get(date).intValue()); }else { vo.setVerifyCount(0); } if (null != verfiyUserCount && verfiyUserCount.containsKey(date)) { - vo.setVerifyUserCount(verfiyUserCount.get(date)); + vo.setVerifyUserCount(verfiyUserCount.get(date).intValue()); }else { vo.setVerifyUserCount(0); } diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index fcd96cc58..d56196c3d 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -294,7 +294,7 @@ SELECT createTime,couponId,sum(couponCount) couponCount,sum(couponUserCount) couponUserCount,sum(verifyCount) verifyCount,sum(verifyUserCount) verifyUserCount - from ( - SELECT * from view_coupon_data${tenantEntity.shardTableSuffix} WHERE `tenant_id` = #{tenantEntity.tenantId} - ) view_coupon_data - where 1=1 - - and `tenant_id` = #{tenantId} - + from view_coupon_data${tenantEntity.shardTableSuffix} WHERE `tenant_id` = #{tenantEntity.tenantId} and `parent_tenant_id` = #{parentTenantId} @@ -372,13 +366,7 @@ select DATE_FORMAT(update_date,'%Y-%m-%d') xTime, count(c.id) triggerCount - from ( - SELECT * from wx_coupon_order${tenantEntity.shardTableSuffix} - ) c + from wx_coupon_order c where c.coupon_order_status = 1 and c.`tenant_id` = #{tenantId} @@ -413,13 +399,7 @@ - SELECT IFNULL(SUM(coupon_price),0) from wx_coupon_order - where 1=1 - - and `tenant_id` = #{tenantId} - + where `tenant_id` = #{tenantId} and `parent_tenant_id` = #{parentTenantId} @@ -474,27 +451,16 @@ and coupon_type = #{couponType} - and create_date >= #{startTime} + and create_date_times >= unix_timestamp(#{startTime})*1000 - and create_date <= #{endTime} + and create_date_times <= unix_timestamp(#{endTime})*1000 select COALESCE(sum(coupon_number),0) FROM wx_coupon_order co - where 1=1 - - and co.`tenant_id` = #{tenantId} - + where co.`tenant_id` = #{tenantId} and co.`parent_tenant_id` = #{parentTenantId}