|
@@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.ParseException;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -128,12 +129,45 @@ public class EtlKuaishouReportAccountHourlyServiceImpl extends ServiceImpl<EtlKu
|
|
|
String endTime2 = DateUtils.getLastDay(startTime, 1);
|
|
|
String startTime2 = DateUtils.getLastDay(endTime2, days);
|
|
|
yesterdayList = etlDailyAccountMapper.getOnedayEtlReportList(startTime2, endTime2, accountId, value, type);
|
|
|
+ int todayNum = Check.isNull(todayList) ? 0 : todayList.size();
|
|
|
+ int yesterdayNum = Check.isNull(yesterdayList) ? 0 : yesterdayList.size();
|
|
|
+ days += 1;
|
|
|
+ List<String> dayList = null;
|
|
|
+ if (days > todayNum) {
|
|
|
+ dayList = DateUtils.getDays(startTime, endTime);
|
|
|
+ completionTime(todayList, dayList);
|
|
|
+ }
|
|
|
+ if (days > yesterdayNum) {
|
|
|
+ dayList = DateUtils.getDays(startTime2, endTime2);
|
|
|
+ completionTime(yesterdayList, dayList);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
obj.put("today", todayList);
|
|
|
obj.put("yesterday", yesterdayList);
|
|
|
return Result.ok(obj);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 补全日期
|
|
|
+ */
|
|
|
+ private void completionTime(List<JSONObject> dataList, List<String> dayList) {
|
|
|
+ List<String> newDayList = new ArrayList<>();
|
|
|
+ for (JSONObject data : dataList) {
|
|
|
+ newDayList.add(data.getString("statDate"));
|
|
|
+ }
|
|
|
+
|
|
|
+ for (String day : dayList) {
|
|
|
+ if (!newDayList.contains(day)) {
|
|
|
+ JSONObject obj = new JSONObject();
|
|
|
+ obj.put("statDate", day);
|
|
|
+ obj.put("value", 0);
|
|
|
+ dataList.add(obj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public Result<Object> getMaxChargeAccountIdByUser(String userId) {
|
|
|
JSONObject obj = etlDailyAccountMapper.getMaxChargeAccountId(userId);
|