|
@@ -29,6 +29,7 @@ import java.io.OutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -85,6 +86,10 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
|
|
|
|
|
|
@Override
|
|
|
public Map<String, Object> getTotalModule(int mediaId, String startDate, String endDate, JSONArray projects) {
|
|
|
+
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String nowData = sdf.format(new Date());
|
|
|
+
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
if (projects.isEmpty()) {
|
|
|
projects = getProjectsByCurrentUser(mediaId);
|
|
@@ -98,9 +103,9 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
|
|
|
//同比 (本阶段截止昨天消耗-上一个阶段截止和昨天对应日期的消耗)/上一个阶段截止和昨天对应日期的消耗 X 100%
|
|
|
result.put("yearOnYearCompare", countLink(cost,lastCost));
|
|
|
//昨日消耗
|
|
|
- BigDecimal yesterdayCost = materialReportOverViewMapper.queryBytedanceCost(endDate, endDate, projects);
|
|
|
+ BigDecimal yesterdayCost = materialReportOverViewMapper.queryBytedanceCost(DateUtils.addDay(nowData, -1), DateUtils.addDay(nowData, -1), projects);
|
|
|
//前天消耗
|
|
|
- BigDecimal beforeYesterdayCost = materialReportOverViewMapper.queryBytedanceCost(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
|
|
|
+ BigDecimal beforeYesterdayCost = materialReportOverViewMapper.queryBytedanceCost(DateUtils.addDay(nowData, -2), DateUtils.addDay(nowData, -2), projects);
|
|
|
result.put("yesterdayCost", yesterdayCost);
|
|
|
//环比 (昨日消耗-前日消耗)/前日消耗 X 100%
|
|
|
result.put("chainCompare", countLink(yesterdayCost,beforeYesterdayCost));
|
|
@@ -114,9 +119,9 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
|
|
|
//同比 (本阶段截止昨天消耗-上一个阶段截止和昨天对应日期的消耗)/上一个阶段截止和昨天对应日期的消耗 X 100%
|
|
|
result.put("yearOnYearCompare", countLink(cost,lastCost));
|
|
|
//昨日消耗
|
|
|
- BigDecimal yesterdayCost = materialReportOverViewMapper.queryKuaishouCost(endDate, endDate, projects);
|
|
|
+ BigDecimal yesterdayCost = materialReportOverViewMapper.queryKuaishouCost(DateUtils.addDay(nowData, -1), DateUtils.addDay(nowData, -1), projects);
|
|
|
//前天消耗
|
|
|
- BigDecimal beforeYesterdayCost = materialReportOverViewMapper.queryKuaishouCost(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
|
|
|
+ BigDecimal beforeYesterdayCost = materialReportOverViewMapper.queryKuaishouCost(DateUtils.addDay(nowData, -2), DateUtils.addDay(nowData, -2), projects);
|
|
|
result.put("yesterdayCost", yesterdayCost);
|
|
|
//环比 (昨日消耗-前日消耗)/前日消耗 X 100%
|
|
|
result.put("chainCompare", countLink(yesterdayCost,beforeYesterdayCost));
|
|
@@ -178,6 +183,8 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
|
|
|
//爆款视频
|
|
|
@Override
|
|
|
public Map<String, Object> sumDataVideoHot(int mediaId, String startDate, String endDate, JSONArray projects) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ String nowData = sdf.format(new Date());
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
if (projects.isEmpty()) {
|
|
|
projects = getProjectsByCurrentUser(mediaId);
|
|
@@ -195,9 +202,9 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
|
|
|
//同比 (本阶段截止昨天的爆款视频数量-上一个阶段截止和昨天对应日期的爆款视频数量)/上一个阶段截止和昨天对应日期的爆款视频数量X 100%
|
|
|
result.put("hotYearOnYearCompare", countLink(new BigDecimal(hotTotal),new BigDecimal(lastHotTotal)));
|
|
|
//昨日消耗
|
|
|
- List<Map<String, String>> yesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoBytedance(endDate,endDate, projects);
|
|
|
+ List<Map<String, String>> yesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoBytedance(DateUtils.addDay(nowData, -1),DateUtils.addDay(nowData, -1), projects);
|
|
|
//前天消耗
|
|
|
- List<Map<String, String>> beforeYesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoBytedance(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
|
|
|
+ List<Map<String, String>> beforeYesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoBytedance(DateUtils.addDay(nowData, -2), DateUtils.addDay(nowData, -2), projects);
|
|
|
long yesterday = yesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
|
|
|
long before = beforeYesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
|
|
|
//环比 (昨日-前日)/前日消耗 X 100%
|
|
@@ -216,9 +223,9 @@ public class MaterialReportOverViewServiceImpl implements IMaterialReportOverVie
|
|
|
//同比 (本阶段截止昨天的爆款视频数量-上一个阶段截止和昨天对应日期的爆款视频数量)/上一个阶段截止和昨天对应日期的爆款视频数量X 100%
|
|
|
result.put("hotYearOnYearCompare", countLink(new BigDecimal(hotTotal),new BigDecimal(lastHotTotal)));
|
|
|
//昨日消耗
|
|
|
- List<Map<String, String>> yesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoKs(endDate,endDate, projects);
|
|
|
+ List<Map<String, String>> yesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoKs(DateUtils.addDay(nowData, -1),DateUtils.addDay(nowData, -1), projects);
|
|
|
//前天消耗
|
|
|
- List<Map<String, String>> beforeYesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoKs(DateUtils.addDay(endDate, -1), DateUtils.addDay(endDate, -1), projects);
|
|
|
+ List<Map<String, String>> beforeYesterdayHost = materialReportOverViewMapper.selectHotMaterialVideoKs(DateUtils.addDay(nowData, -2), DateUtils.addDay(nowData, -2), projects);
|
|
|
long yesterday = yesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
|
|
|
long before = beforeYesterdayHost.stream().collect(Collectors.summarizingInt(s->Integer.valueOf(String.valueOf(s.get("count"))))).getSum();
|
|
|
//环比 (昨日-前日)/前日消耗 X 100%
|