|
@@ -6,6 +6,7 @@ import cn.com.ctop.bytedance.vo.DailyGroupReportVO;
|
|
|
import cn.com.ctop.bytedance.vo.DailyReportVO;
|
|
|
import cn.com.ctop.common.module.utils.Check;
|
|
|
import cn.com.ctop.common.module.utils.ExportExcelUtils;
|
|
|
+import cn.com.ctop.common.module.utils.RateUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -49,7 +50,6 @@ public class DailyReportController {
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 导出报表
|
|
|
*
|
|
@@ -60,60 +60,60 @@ public class DailyReportController {
|
|
|
public void export(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
|
|
|
DailyReportVO dailyReport = dailyReportService.getDailyReport(requestJson);
|
|
|
|
|
|
- List<List<String>> accountData = new ArrayList<>();
|
|
|
+ List<List<Object>> accountData = new ArrayList<>();
|
|
|
if (!Check.isNull(dailyReport)) {
|
|
|
DailyAccountReportVO dailyAccountReport = dailyReport.getDailyAccountReport();
|
|
|
if (!Check.isNull(dailyAccountReport)) {
|
|
|
- List rowData = new ArrayList();
|
|
|
+ List<Object> rowData = new ArrayList();
|
|
|
rowData.add(requestJson.getString("date")); // 时间
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getCost())); // 消耗
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getContractRebateRealCharged())); // 激励花费
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getActualCost())); // 实际花费
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getPhotoShow())); // 展示数
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getPhotoClick())); // 点击数
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getPhotoClickRatio())); // 点击率
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getPhotoClickCost())); // 平均点击花费
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getBclick())); // 行为数
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getActionRatio())); // 行为率
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getImpression1kCost())); // 平均千次展现花费
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getConversions())); // 转化数
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getConversionPrice())); // 转化单价
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getConversionRate())); // 转化率
|
|
|
- rowData.add(String.valueOf(dailyAccountReport.getDiscountConversionPrice())); // 折后转化成本
|
|
|
+ rowData.add(dailyAccountReport.getCost()); // 消耗
|
|
|
+ rowData.add(dailyAccountReport.getContractRebateRealCharged()); // 激励花费
|
|
|
+ rowData.add(dailyAccountReport.getActualCost()); // 实际花费
|
|
|
+ rowData.add(dailyAccountReport.getPhotoShow()); // 展示数
|
|
|
+ rowData.add(dailyAccountReport.getPhotoClick()); // 点击数
|
|
|
+
|
|
|
+ rowData.add(RateUtil.getRate(dailyAccountReport.getPhotoClickRatio())); // 点击率
|
|
|
+ rowData.add(dailyAccountReport.getPhotoClickCost()); // 平均点击花费
|
|
|
+ rowData.add(dailyAccountReport.getBclick()); // 行为数
|
|
|
+ rowData.add(RateUtil.getRate(dailyAccountReport.getActionRatio())); // 行为率
|
|
|
+ rowData.add(dailyAccountReport.getImpression1kCost()); // 平均千次展现花费
|
|
|
+ rowData.add(dailyAccountReport.getConversions()); // 转化数
|
|
|
+ rowData.add(dailyAccountReport.getConversionPrice()); // 转化单价
|
|
|
+ rowData.add(RateUtil.getRate(dailyAccountReport.getConversionRate())); // 转化率
|
|
|
+ rowData.add(dailyAccountReport.getDiscountConversionPrice()); // 折后转化成本
|
|
|
accountData.add(rowData);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- List<List<String>> group = new ArrayList<>();
|
|
|
+ List<List<Object>> group = new ArrayList<>();
|
|
|
List<DailyGroupReportVO> dailyGroupReport = dailyReport.getDailyGroupReport();
|
|
|
if (!Check.isNull(dailyGroupReport)) {
|
|
|
for (DailyGroupReportVO groupReportVO : dailyGroupReport) {
|
|
|
- List dailyGroup = new ArrayList();
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getAccountId()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getAuthName()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getStatDate()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getCampaignName()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getUnitName()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getCost()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getDisCountCost()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getPhotoShow()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getPhotoClick()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getBclick()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getActionRatio()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getImpression1kCost()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getPhotoClickCost()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getConversions()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getConversionPrice()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getClickConversionRate()));
|
|
|
- dailyGroup.add(String.valueOf(groupReportVO.getDiscountConversionPrice()));
|
|
|
+ List<Object> dailyGroup = new ArrayList();
|
|
|
+ dailyGroup.add(groupReportVO.getAccountId());
|
|
|
+ dailyGroup.add(groupReportVO.getAuthName());
|
|
|
+ dailyGroup.add(groupReportVO.getStatDate());
|
|
|
+ dailyGroup.add(groupReportVO.getCampaignName());
|
|
|
+ dailyGroup.add(groupReportVO.getUnitName());
|
|
|
+ dailyGroup.add(groupReportVO.getCost()); // 花费
|
|
|
+ dailyGroup.add(groupReportVO.getDisCountCost()); // 折后花费
|
|
|
+ dailyGroup.add(groupReportVO.getPhotoShow()); // 展示数
|
|
|
+ dailyGroup.add(groupReportVO.getPhotoClick()); // 点击数
|
|
|
+ dailyGroup.add(groupReportVO.getBclick()); // 行为数
|
|
|
+ dailyGroup.add(RateUtil.getRate(groupReportVO.getActionRatio())); // 行为率
|
|
|
+ dailyGroup.add(groupReportVO.getImpression1kCost()); // 平均千次展现花费
|
|
|
+ dailyGroup.add(groupReportVO.getPhotoClickCost()); // 平均点击花费
|
|
|
+ dailyGroup.add(groupReportVO.getConversions()); // 转化数
|
|
|
+ dailyGroup.add(groupReportVO.getConversionPrice()); // 转化单价
|
|
|
+ dailyGroup.add(groupReportVO.getClickConversionRate()); // 点击转化率
|
|
|
+ dailyGroup.add(groupReportVO.getDiscountConversionPrice()); // 折后转化成本
|
|
|
group.add(dailyGroup);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- String[] accountHeaders = {"时间", "消耗", "激励花费", "实际消耗", "展示数", "点击数", "点击率", "平均点击花费", "行为数", "行为率", "平均千次展现花费", "转化数", "转化单价", "转化率", "折后转化成本"};
|
|
|
- String[] groupHeaders = {"账号", "账号名称", "日期", "计划名称", "广告组名称", "消耗", "折后消耗", "展示数", "点击数", "行为数", "行为率", "平均千次展示花费", "平均点击花费", "转化数", "转化单价", "点击转化率", "折后转化成本"};
|
|
|
+ String[] accountHeaders = {"时间", "消耗(元)", "激励花费(元)", "实际消耗(元)", "展示数", "点击数", "点击率", "平均点击花费(元)", "行为数", "行为率", "平均千次展现花费(元)", "转化数(元)", "转化单价", "转化率", "折后转化成本(元)"};
|
|
|
+ String[] groupHeaders = {"账号", "账号名称", "日期", "计划名称", "广告组名称", "消耗(元)", "折后消耗(元)", "展示数", "点击数", "行为数", "行为率", "平均千次展示花费(元)", "平均点击花费(元)", "转化数", "转化单价(元)", "点击转化率", "折后转化成本(元)"};
|
|
|
OutputStream os = response.getOutputStream();
|
|
|
ExportExcelUtils eeu = new ExportExcelUtils();
|
|
|
XSSFWorkbook workbook = new XSSFWorkbook();
|