Просмотр исходного кода

[触达用户数][修改][导出]

release_toaliyun_real
gongbiao 6 лет назад
Родитель
Сommit
682375d8c8
5 измененных файлов: 65 добавлений и 18 удалений
  1. +10
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java
  2. +15
    -8
      mallinkService/src/main/java/com/iformall/domain/vo/TouchUsersReportVo.java
  3. +8
    -8
      mallinkService/src/main/java/com/iformall/service/ExcelService.java
  4. +5
    -0
      mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java
  5. +27
    -2
      mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java

+ 10
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java Просмотреть файл

@@ -17,6 +17,9 @@ import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Created by syf on 2018/8/29.
*/
@@ -86,5 +89,12 @@ public class MarkingDataReportController extends BaseController {
return new ResultData(markingDataReportService.getTouchUsersReportList(getTenantId(), markingCouponDataReportDto, pageNum, pageSize));
}

@GetMapping("exportTouchUsersData")
@SystemControllerLog(description = "券数据-触达用户数数据导出")
public void exportTouchUsersData(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto, HttpServletRequest request, HttpServletResponse response) {
markingCouponDataReportDto.setTenantId(getTenantId());
markingDataReportService.exportTouchUsersData(request, response, markingCouponDataReportDto);
}


}

+ 15
- 8
mallinkService/src/main/java/com/iformall/domain/vo/TouchUsersReportVo.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;

/**
@@ -7,14 +8,20 @@ import lombok.Data;
*/
@Data
public class TouchUsersReportVo {
private String xTime;
private int uv;
private int pv;

private int userCount; // 领取人数
private int couponCount; // 领取券数
private int verifyUserCount; // 核销人数
private int verifyCount; //核销量

@Excel(name = "日期", width = 20, orderNum = "1")
private String XTime;
@Excel(name = "浏览量(PV)", width = 20, orderNum = "2")
private int pv;
@Excel(name = "独立访客(UV)", width = 20, orderNum = "3")
private int uv;
@Excel(name = "领取券数", width = 20, orderNum = "4")
private int couponCount;
@Excel(name = "领取人数", width = 20, orderNum = "5")
private int userCount;
@Excel(name = "核销数", width = 20, orderNum = "6")
private int verifyCount;
@Excel(name = "核销用户数", width = 20, orderNum = "7")
private int verifyUserCount;

}

+ 8
- 8
mallinkService/src/main/java/com/iformall/service/ExcelService.java Просмотреть файл

@@ -28,7 +28,7 @@ public class ExcelService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());


public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, boolean isCreateHeader, HttpServletResponse response)
public void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, boolean isCreateHeader, HttpServletResponse response)
{
ExportParams exportParams = new ExportParams(title, sheetName);
exportParams.setCreateHeadRows(isCreateHeader);
@@ -36,17 +36,17 @@ public class ExcelService {
defaultExport(list, pojoClass, fileName, response, exportParams, false);
}

public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, HttpServletResponse response, boolean template)
public void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, HttpServletResponse response, boolean template)
{
defaultExport(list, pojoClass, fileName, response, new ExportParams(title, sheetName, ExcelType.XSSF), template);
}

public static void exportExcel(List<Map<String, Object>> list, String fileName, HttpServletResponse response)
public void exportExcel(List<Map<String, Object>> list, String fileName, HttpServletResponse response)
{
defaultExport(list, fileName, response);
}

private static void defaultExport(List<?> list, Class<?> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams, boolean template)
private void defaultExport(List<?> list, Class<?> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams, boolean template)
{
Workbook workbook = ExcelExportUtil.exportExcel(exportParams,pojoClass,list);
if (workbook != null) {
@@ -65,14 +65,14 @@ public class ExcelService {
downLoadExcel(fileName, response, workbook);
}

private static void defaultExport(List<Map<String, Object>> list, String fileName, HttpServletResponse response)
private void defaultExport(List<Map<String, Object>> list, String fileName, HttpServletResponse response)
{
Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
if (workbook != null);
downLoadExcel(fileName, response, workbook);
}

private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook)
private void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook)
{
try {
response.setCharacterEncoding("UTF-8");
@@ -86,7 +86,7 @@ public class ExcelService {
}
}

public static <T> List<T> importExcel(String filePath,Integer titleRows,Integer headerRows, Class<T> pojoClass){
public <T> List<T> importExcel(String filePath, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
if (StringUtils.isBlank(filePath)){
return null;
}
@@ -105,7 +105,7 @@ public class ExcelService {
return list;
}

public static <T> List<T> importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
public <T> List<T> importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
if (file == null) {
return null;
}


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java Просмотреть файл

@@ -5,6 +5,8 @@ import com.iformall.domain.dto.MarkingCouponDataReportDto;
import com.iformall.domain.dto.WxOrderReportDto;
import com.iformall.domain.vo.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

@@ -33,4 +35,7 @@ public interface MarkingDataReportService {
List<WxOrderReportVo> listMicroPayOrderReportByDateAndMerchant(WxOrderReportDto wxOrderReportDto);

PageInfo<WxMerchantMicroPayVo> listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageNum, Integer pageSize);

void exportTouchUsersData(HttpServletRequest request, HttpServletResponse response, MarkingCouponDataReportDto markingCouponDataReportDto);

}

+ 27
- 2
mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java Просмотреть файл

@@ -7,8 +7,12 @@ import com.iformall.domain.dto.WxOrderReportDto;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.vo.*;
import com.iformall.enums.*;
import com.iformall.enums.EnumCarCmd;
import com.iformall.enums.EnumCouponSendSendType;
import com.iformall.enums.EnumCouponType;
import com.iformall.enums.EnumOrderType;
import com.iformall.mapper.*;
import com.iformall.service.ExcelService;
import com.iformall.service.MarkingDataReportService;
import com.iformall.utils.DateUtils;
import org.apache.commons.collections.map.HashedMap;
@@ -18,6 +22,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.NumberFormat;
import java.time.LocalDate;
import java.util.*;
@@ -42,7 +48,8 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService {
private WxCouponMapper wxCouponMapper;
@Autowired
private WxOrderMapper wxOrderMapper;

@Autowired
private ExcelService excelService;

private Date addDay(int addDayAmount) {
Calendar c = Calendar.getInstance();
@@ -652,6 +659,24 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService {
return new PageInfo<>(list);
}

@Override
public void exportTouchUsersData(HttpServletRequest request, HttpServletResponse response, MarkingCouponDataReportDto markingCouponDataReportDto) {
if (markingCouponDataReportDto.getStartTime() != null) {
markingCouponDataReportDto.setStartTime(convertDateAndAdd(markingCouponDataReportDto.getStartTime(), 0));
}
if (markingCouponDataReportDto.getEndTime() != null) {
markingCouponDataReportDto.setEndTime(markingCouponDataReportDto.getEndTime());
}
HashMap<String, Object> params2 = new HashMap<>();
params2.put("tenantId", markingCouponDataReportDto.getTenantId());
if (markingCouponDataReportDto.getStartTime() != null)
params2.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(), 0));
if (markingCouponDataReportDto.getEndTime() != null)
params2.put("endTime", markingCouponDataReportDto.getEndTime());
List<TouchUsersReportVo> wxUserVisitList = wxCouponOrderMapper.touchUsersReportList(params2);
excelService.exportExcel(wxUserVisitList, null, "触达用户数", TouchUsersReportVo.class, "触达用户数" + ".xlsx", response, false);
}


@Override
public PageInfo<TouchUsersReportVo> getTouchUsersReportList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize) {


Загрузка…
Отмена
Сохранить