Procházet zdrojové kódy

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

release_toaliyun_real
gongbiao před 6 roky
rodič
revize
682375d8c8
5 změnil soubory, kde provedl 65 přidání a 18 odebrání
  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 Zobrazit soubor

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


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

/** /**
* Created by syf on 2018/8/29. * 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)); 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 Zobrazit soubor

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


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


/** /**
@@ -7,14 +8,20 @@ import lombok.Data;
*/ */
@Data @Data
public class TouchUsersReportVo { 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 Zobrazit soubor

@@ -28,7 +28,7 @@ public class ExcelService {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); 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 exportParams = new ExportParams(title, sheetName);
exportParams.setCreateHeadRows(isCreateHeader); exportParams.setCreateHeadRows(isCreateHeader);
@@ -36,17 +36,17 @@ public class ExcelService {
defaultExport(list, pojoClass, fileName, response, exportParams, false); 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); 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); 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); Workbook workbook = ExcelExportUtil.exportExcel(exportParams,pojoClass,list);
if (workbook != null) { if (workbook != null) {
@@ -65,14 +65,14 @@ public class ExcelService {
downLoadExcel(fileName, response, workbook); 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); Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
if (workbook != null); if (workbook != null);
downLoadExcel(fileName, response, workbook); downLoadExcel(fileName, response, workbook);
} }


private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook)
private void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook)
{ {
try { try {
response.setCharacterEncoding("UTF-8"); 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)){ if (StringUtils.isBlank(filePath)){
return null; return null;
} }
@@ -105,7 +105,7 @@ public class ExcelService {
return list; 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) { if (file == null) {
return null; return null;
} }


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/MarkingDataReportService.java Zobrazit soubor

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


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


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


PageInfo<WxMerchantMicroPayVo> listMerchantMicroPayOrderReportByDate(WxOrderReportDto wxOrderReportDto,Integer pageNum, Integer pageSize); 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 Zobrazit soubor

@@ -7,8 +7,12 @@ import com.iformall.domain.dto.WxOrderReportDto;
import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponOrder; import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.vo.*; 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.mapper.*;
import com.iformall.service.ExcelService;
import com.iformall.service.MarkingDataReportService; import com.iformall.service.MarkingDataReportService;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import org.apache.commons.collections.map.HashedMap; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


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

@Autowired
private ExcelService excelService;


private Date addDay(int addDayAmount) { private Date addDay(int addDayAmount) {
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
@@ -652,6 +659,24 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService {
return new PageInfo<>(list); 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 @Override
public PageInfo<TouchUsersReportVo> getTouchUsersReportList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize) { public PageInfo<TouchUsersReportVo> getTouchUsersReportList(String tenantId, MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageIndex, Integer pageSize) {


Načítá se…
Zrušit
Uložit