|
@@ -433,19 +433,25 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
data.put("orderAmount", order.getInteger("orderAmount"));//订单金额
|
|
data.put("orderAmount", order.getInteger("orderAmount"));//订单金额
|
|
data.put("regimentalPromotionAmount", order.getInteger("regimentalPromotionAmount"));//预估服务费
|
|
data.put("regimentalPromotionAmount", order.getInteger("regimentalPromotionAmount"));//预估服务费
|
|
data.put("baseAmount", order.getInteger("baseAmount"));//累计货贷基数
|
|
data.put("baseAmount", order.getInteger("baseAmount"));//累计货贷基数
|
|
|
|
+
|
|
|
|
+ Date date = new Date();
|
|
|
|
+ //当前小时
|
|
|
|
+ Integer hour = DateUtils.getNowHour() - 1;
|
|
//当天
|
|
//当天
|
|
String today = DateUtils.getNowDateStr();
|
|
String today = DateUtils.getNowDateStr();
|
|
- Date date = new Date();
|
|
|
|
//昨天
|
|
//昨天
|
|
String yesterday = DateUtils.getSubtractTime(date, 1);
|
|
String yesterday = DateUtils.getSubtractTime(date, 1);
|
|
//上周的同一天(上个近七天的结束日期)
|
|
//上周的同一天(上个近七天的结束日期)
|
|
String todayOfLastWeek = DateUtils.getSubtractTime(date, 7);
|
|
String todayOfLastWeek = DateUtils.getSubtractTime(date, 7);
|
|
|
|
+
|
|
//当天数据
|
|
//当天数据
|
|
- JSONObject toData = supplyChainService.selectOrderRate(promoterIds, null, today, today);
|
|
|
|
|
|
+ JSONObject toData = getOrderRate(today, today, hour, promoterIds, null);
|
|
|
|
+
|
|
//昨日数据
|
|
//昨日数据
|
|
- JSONObject yesData = supplyChainService.selectOrderRate(promoterIds, null, yesterday, yesterday);
|
|
|
|
|
|
+ JSONObject yesData = getOrderRate(yesterday, yesterday, hour, promoterIds, null);
|
|
|
|
+
|
|
//上周当日数据
|
|
//上周当日数据
|
|
- JSONObject weeklyDayData = supplyChainService.selectOrderRate(promoterIds, null, todayOfLastWeek, todayOfLastWeek);
|
|
|
|
|
|
+ JSONObject weeklyDayData = getOrderRate(todayOfLastWeek, todayOfLastWeek, hour, promoterIds, null);
|
|
|
|
|
|
//日环比 (今天-昨天)/昨天*100%
|
|
//日环比 (今天-昨天)/昨天*100%
|
|
data.put("dateOrderRate", getOrderRateValue(toData, yesData));
|
|
data.put("dateOrderRate", getOrderRateValue(toData, yesData));
|
|
@@ -460,32 +466,43 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
if (startDate.equals(endDate) && startDate.equals(today)) {
|
|
if (startDate.equals(endDate) && startDate.equals(today)) {
|
|
//当前近七天的开始日期
|
|
//当前近七天的开始日期
|
|
String start = DateUtils.getSubtractTime(date, 6);
|
|
String start = DateUtils.getSubtractTime(date, 6);
|
|
- //上个近七天的开始日期
|
|
|
|
- String LastStart = DateUtils.getSubtractTime(date, 13);
|
|
|
|
//当前近七天的数据
|
|
//当前近七天的数据
|
|
- inDayData = supplyChainService.selectOrderRate(promoterIds, null, start, today);
|
|
|
|
|
|
+ inDayData = getOrderRate(start, today, hour, promoterIds, null);
|
|
|
|
+ //上个近七天的开始日期
|
|
|
|
+ String lastStart = DateUtils.getSubtractTime(date, 13);
|
|
//上个近七天的数据
|
|
//上个近七天的数据
|
|
- lastDayData = supplyChainService.selectOrderRate(promoterIds, null, LastStart, todayOfLastWeek);
|
|
|
|
|
|
+ lastDayData = getOrderRate(lastStart, todayOfLastWeek, hour, promoterIds, null);
|
|
} else if (startDate.equals(endDate) && !startDate.equals(today)) {
|
|
} else if (startDate.equals(endDate) && !startDate.equals(today)) {
|
|
// startDate 环比 startDate的前一天
|
|
// startDate 环比 startDate的前一天
|
|
- inDayData = supplyChainService.selectOrderRate(promoterIds, null, startDate, startDate);
|
|
|
|
- String lastDay = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), 1);
|
|
|
|
|
|
+ inDayData = getOrderRate(startDate, startDate, 23, promoterIds, null);
|
|
// startDate -1
|
|
// startDate -1
|
|
- lastDayData = supplyChainService.selectOrderRate(promoterIds, null, lastDay, lastDay);
|
|
|
|
|
|
+ String lastDay = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), 1);
|
|
|
|
+ lastDayData = getOrderRate(lastDay, lastDay, 23, promoterIds, null);
|
|
|
|
+ } else if (!startDate.equals(endDate) && !endDate.equals(today)) {
|
|
|
|
+ // startDate 环比 startDate的前一天
|
|
|
|
+ inDayData = getOrderRate(startDate, endDate, 23, promoterIds, null);
|
|
|
|
+ int days = DateUtils.differentDaysByMillisecond(DateUtils.parseDate(startDate), DateUtils.parseDate(endDate)) + 1;
|
|
|
|
+ String lastStart = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), days);
|
|
|
|
+ String lastEnd = DateUtils.getSubtractTime(DateUtils.parseDate(endDate), days);
|
|
|
|
+ lastDayData = getOrderRate(lastStart, lastEnd, 23, promoterIds, null);
|
|
} else {
|
|
} else {
|
|
- inDayData = supplyChainService.selectOrderRate(promoterIds, null, startDate, endDate);
|
|
|
|
|
|
+ inDayData = getOrderRate(startDate, endDate, hour, promoterIds, null);
|
|
int days = DateUtils.differentDaysByMillisecond(DateUtils.parseDate(startDate), DateUtils.parseDate(endDate)) + 1;
|
|
int days = DateUtils.differentDaysByMillisecond(DateUtils.parseDate(startDate), DateUtils.parseDate(endDate)) + 1;
|
|
String lastStart = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), days);
|
|
String lastStart = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), days);
|
|
String lastEnd = DateUtils.getSubtractTime(DateUtils.parseDate(endDate), days);
|
|
String lastEnd = DateUtils.getSubtractTime(DateUtils.parseDate(endDate), days);
|
|
- lastDayData = supplyChainService.selectOrderRate(promoterIds, null, lastStart, lastEnd);
|
|
|
|
|
|
+ lastDayData = getOrderRate(lastStart, lastEnd, hour, promoterIds, null);
|
|
}
|
|
}
|
|
//数据对比
|
|
//数据对比
|
|
data.put("dataOrderRate", getOrderRateValue(inDayData, lastDayData));
|
|
data.put("dataOrderRate", getOrderRateValue(inDayData, lastDayData));
|
|
data.put("dataAmountRate", getAmountRateValue(inDayData, lastDayData));
|
|
data.put("dataAmountRate", getAmountRateValue(inDayData, lastDayData));
|
|
-
|
|
|
|
return data;
|
|
return data;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private JSONObject getOrderRate(String startDate, String endDate, int hour, List<Long> promoterIds, List<Long> itemIds) {
|
|
|
|
+ Long startHourTemp = DateUtils.getStartLongTime(startDate); // startDate开始时间戳
|
|
|
|
+ Long endHourTemp = DateUtils.getNowEndHourTemp(endDate, hour); // endDate结束时间戳
|
|
|
|
+ return supplyChainService.selectOrderRate(promoterIds, itemIds, startHourTemp, endHourTemp);
|
|
|
|
+ }
|
|
|
|
|
|
private BigDecimal getOrderRateValue(JSONObject toData, JSONObject yesData) {
|
|
private BigDecimal getOrderRateValue(JSONObject toData, JSONObject yesData) {
|
|
BigDecimal allNumber = yesData.getBigDecimal("allNumber");
|
|
BigDecimal allNumber = yesData.getBigDecimal("allNumber");
|
|
@@ -521,20 +538,25 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
data.put("orderAmount", order.getInteger("orderAmount"));//订单金额
|
|
data.put("orderAmount", order.getInteger("orderAmount"));//订单金额
|
|
data.put("regimentalPromotionAmount", order.getInteger("regimentalPromotionAmount"));//预估服务费
|
|
data.put("regimentalPromotionAmount", order.getInteger("regimentalPromotionAmount"));//预估服务费
|
|
data.put("baseAmount", order.getInteger("baseAmount"));//累计货贷基数
|
|
data.put("baseAmount", order.getInteger("baseAmount"));//累计货贷基数
|
|
|
|
+
|
|
|
|
+ Date date = new Date();
|
|
|
|
+ //当前小时
|
|
|
|
+ Integer hour = DateUtils.getNowHour() - 1;
|
|
//当天
|
|
//当天
|
|
String today = DateUtils.getNowDateStr();
|
|
String today = DateUtils.getNowDateStr();
|
|
- Date date = new Date();
|
|
|
|
//昨天
|
|
//昨天
|
|
String yesterday = DateUtils.getSubtractTime(date, 1);
|
|
String yesterday = DateUtils.getSubtractTime(date, 1);
|
|
//上周的同一天(上个近七天的结束日期)
|
|
//上周的同一天(上个近七天的结束日期)
|
|
String todayOfLastWeek = DateUtils.getSubtractTime(date, 7);
|
|
String todayOfLastWeek = DateUtils.getSubtractTime(date, 7);
|
|
|
|
|
|
//当天数据
|
|
//当天数据
|
|
- JSONObject toData = supplyChainService.selectOrderRate(null, itemIds, today, today);
|
|
|
|
|
|
+ JSONObject toData = getOrderRate(today, today, hour, null, itemIds);
|
|
|
|
+
|
|
//昨日数据
|
|
//昨日数据
|
|
- JSONObject yesData = supplyChainService.selectOrderRate(null, itemIds, yesterday, yesterday);
|
|
|
|
|
|
+ JSONObject yesData = getOrderRate(yesterday, yesterday, hour, null, itemIds);
|
|
|
|
+
|
|
//上周当日数据
|
|
//上周当日数据
|
|
- JSONObject weeklyDayData = supplyChainService.selectOrderRate(null, itemIds, todayOfLastWeek, todayOfLastWeek);
|
|
|
|
|
|
+ JSONObject weeklyDayData = getOrderRate(todayOfLastWeek, todayOfLastWeek, hour, null, itemIds);
|
|
|
|
|
|
//日环比 (今天-昨天)/昨天*100%
|
|
//日环比 (今天-昨天)/昨天*100%
|
|
data.put("dateOrderRate", getOrderRateValue(toData, yesData));
|
|
data.put("dateOrderRate", getOrderRateValue(toData, yesData));
|
|
@@ -547,26 +569,32 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
JSONObject inDayData = null;
|
|
JSONObject inDayData = null;
|
|
JSONObject lastDayData = null;
|
|
JSONObject lastDayData = null;
|
|
if (startDate.equals(endDate) && startDate.equals(today)) {
|
|
if (startDate.equals(endDate) && startDate.equals(today)) {
|
|
- //当前近七天的开始日期
|
|
|
|
- String start = DateUtils.getSubtractTime(date, 6);
|
|
|
|
- //上个近七天的开始日期
|
|
|
|
- String LastStart = DateUtils.getSubtractTime(date, 13);
|
|
|
|
|
|
+ String start = DateUtils.getSubtractTime(date, 6); //当前近七天的开始日期
|
|
//当前近七天的数据
|
|
//当前近七天的数据
|
|
- inDayData = supplyChainService.selectOrderRate(null, itemIds, start, today);
|
|
|
|
|
|
+ inDayData = getOrderRate(start, today, hour, null, itemIds);
|
|
|
|
+
|
|
|
|
+ String lastStart = DateUtils.getSubtractTime(date, 13); //上个近七天的开始日期
|
|
//上个近七天的数据
|
|
//上个近七天的数据
|
|
- lastDayData = supplyChainService.selectOrderRate(null, itemIds, LastStart, todayOfLastWeek);
|
|
|
|
|
|
+ lastDayData = getOrderRate(lastStart, todayOfLastWeek, hour, null, itemIds);
|
|
} else if (startDate.equals(endDate) && !startDate.equals(today)) {
|
|
} else if (startDate.equals(endDate) && !startDate.equals(today)) {
|
|
// startDate 环比 startDate的前一天
|
|
// startDate 环比 startDate的前一天
|
|
- inDayData = supplyChainService.selectOrderRate(null, itemIds, startDate, startDate);
|
|
|
|
- String lastDay = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), 1);
|
|
|
|
|
|
+ inDayData = getOrderRate(startDate, startDate, 23, null, itemIds);
|
|
// startDate -1
|
|
// startDate -1
|
|
- lastDayData = supplyChainService.selectOrderRate(null, itemIds, lastDay, lastDay);
|
|
|
|
|
|
+ String lastDay = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), 1);
|
|
|
|
+ lastDayData = getOrderRate(lastDay, lastDay, 23, null, itemIds);
|
|
|
|
+ } else if (!startDate.equals(endDate) && !endDate.equals(today)) {
|
|
|
|
+ // startDate 环比 startDate的前一天
|
|
|
|
+ inDayData = getOrderRate(startDate, endDate, 23, null, itemIds);
|
|
|
|
+ int days = DateUtils.differentDaysByMillisecond(DateUtils.parseDate(startDate), DateUtils.parseDate(endDate)) + 1;
|
|
|
|
+ String lastStart = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), days);
|
|
|
|
+ String lastEnd = DateUtils.getSubtractTime(DateUtils.parseDate(endDate), days);
|
|
|
|
+ lastDayData = getOrderRate(lastStart, lastEnd, 23, null, itemIds);
|
|
} else {
|
|
} else {
|
|
- inDayData = supplyChainService.selectOrderRate(null, itemIds, startDate, endDate);
|
|
|
|
|
|
+ inDayData = getOrderRate(startDate, endDate, hour, null, itemIds);
|
|
int days = DateUtils.differentDaysByMillisecond(DateUtils.parseDate(startDate), DateUtils.parseDate(endDate)) + 1;
|
|
int days = DateUtils.differentDaysByMillisecond(DateUtils.parseDate(startDate), DateUtils.parseDate(endDate)) + 1;
|
|
String lastStart = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), days);
|
|
String lastStart = DateUtils.getSubtractTime(DateUtils.parseDate(startDate), days);
|
|
String lastEnd = DateUtils.getSubtractTime(DateUtils.parseDate(endDate), days);
|
|
String lastEnd = DateUtils.getSubtractTime(DateUtils.parseDate(endDate), days);
|
|
- lastDayData = supplyChainService.selectOrderRate(null, itemIds, lastStart, lastEnd);
|
|
|
|
|
|
+ lastDayData = getOrderRate(lastStart, lastEnd, hour, null, itemIds);
|
|
}
|
|
}
|
|
//数据对比
|
|
//数据对比
|
|
data.put("dataOrderRate", getOrderRateValue(inDayData, lastDayData));
|
|
data.put("dataOrderRate", getOrderRateValue(inDayData, lastDayData));
|