|
@@ -408,15 +408,15 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
returnJson.put("code", 0);
|
|
|
returnJson.put("message", "调用成功");
|
|
|
if ("1".equals(type)) {
|
|
|
- returnJson.put("data", getgetOrderDataByChannel(userList, startDate, endDate));
|
|
|
+ returnJson.put("data", getOrderDataByChannel(userList, startDate, endDate));
|
|
|
} else {
|
|
|
- returnJson.put("data", getgetOrderDataByAttractInvestment(userList, startDate, endDate));
|
|
|
+ returnJson.put("data", getOrderDataByAttractInvestment(userList, startDate, endDate));
|
|
|
}
|
|
|
return returnJson;
|
|
|
}
|
|
|
|
|
|
//渠道数据
|
|
|
- private JSONObject getgetOrderDataByChannel(List<Long> userList, String startDate, String endDate) {
|
|
|
+ private JSONObject getOrderDataByChannel(List<Long> userList, String startDate, String endDate) {
|
|
|
JSONObject data = new JSONObject();
|
|
|
List<Long> promoterIds = promoterService.selectPromoterIdList(userList);
|
|
|
if (Check.isNotNull(promoterIds)) {
|
|
@@ -450,15 +450,12 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
JSONObject weeklyDayData = supplyChainService.selectOrderRate(promoterIds, null, todayOfLastWeek, todayOfLastWeek);
|
|
|
|
|
|
//日环比 (今天-昨天)/昨天*100%
|
|
|
- BigDecimal dateOrder = toData.getBigDecimal("allNumber").subtract(yesData.getBigDecimal("allNumber")).divide(yesData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal dateAmount = toData.getBigDecimal("orderAmount").subtract(yesData.getBigDecimal("orderAmount")).divide(yesData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
|
|
|
- data.put("dateOrderRate", dateOrder);
|
|
|
- data.put("dateAmountRate", dateAmount);
|
|
|
+ data.put("dateOrderRate", getOrderRateValue(toData, yesData));
|
|
|
+ data.put("dateAmountRate", getAmountRateValue(toData, yesData));
|
|
|
+
|
|
|
//周同比
|
|
|
- BigDecimal monthOrder = toData.getBigDecimal("allNumber").subtract(weeklyDayData.getBigDecimal("allNumber")).divide(weeklyDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal monthAmount = toData.getBigDecimal("orderAmount").subtract(weeklyDayData.getBigDecimal("orderAmount")).divide(weeklyDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
|
|
|
- data.put("monthOrderRate", monthOrder);
|
|
|
- data.put("monthAmountRate", monthAmount);
|
|
|
+ data.put("monthOrderRate", getOrderRateValue(toData, weeklyDayData));
|
|
|
+ data.put("monthAmountRate", getAmountRateValue(toData, weeklyDayData));
|
|
|
|
|
|
JSONObject inDayData = null;
|
|
|
JSONObject lastDayData = null;
|
|
@@ -485,17 +482,33 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
lastDayData = supplyChainService.selectOrderRate(promoterIds, null, lastStart, lastEnd);
|
|
|
}
|
|
|
//数据对比
|
|
|
- BigDecimal dataOrder = inDayData.getBigDecimal("allNumber").subtract(lastDayData.getBigDecimal("allNumber")).divide(lastDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal dataAmount = inDayData.getBigDecimal("orderAmount").subtract(lastDayData.getBigDecimal("orderAmount")).divide(lastDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
|
|
|
- data.put("dataOrderRate", dataOrder);
|
|
|
- data.put("dataAmountRate", dataAmount);
|
|
|
+ data.put("dataOrderRate", getOrderRateValue(inDayData, lastDayData));
|
|
|
+ data.put("dataAmountRate", getAmountRateValue(inDayData, lastDayData));
|
|
|
}
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private BigDecimal getOrderRateValue(JSONObject toData, JSONObject yesData) {
|
|
|
+ BigDecimal allNumber = yesData.getBigDecimal("allNumber");
|
|
|
+ if ((BigDecimal.ZERO).compareTo(allNumber) != 0) {
|
|
|
+ return toData.getBigDecimal("allNumber").subtract(allNumber).divide(allNumber, 4, RoundingMode.HALF_UP);
|
|
|
+ } else {
|
|
|
+ return new BigDecimal(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private BigDecimal getAmountRateValue(JSONObject toData, JSONObject yesData) {
|
|
|
+ BigDecimal orderAmount = yesData.getBigDecimal("orderAmount");
|
|
|
+ if ((BigDecimal.ZERO).compareTo(orderAmount) != 0) {
|
|
|
+ return toData.getBigDecimal("orderAmount").subtract(orderAmount).divide(orderAmount, 4, RoundingMode.HALF_UP);
|
|
|
+ } else {
|
|
|
+ return new BigDecimal(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//招商数据
|
|
|
- private JSONObject getgetOrderDataByAttractInvestment(List<Long> userList, String startDate, String endDate) {
|
|
|
+ private JSONObject getOrderDataByAttractInvestment(List<Long> userList, String startDate, String endDate) {
|
|
|
JSONObject data = new JSONObject();
|
|
|
List<Long> promoterIds = promoterService.selectPromoterIdList(null);
|
|
|
if (Check.isNotNull(promoterIds)) {
|
|
@@ -529,15 +542,12 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
JSONObject weeklyDayData = supplyChainService.selectOrderRate(null, itemIds, todayOfLastWeek, todayOfLastWeek);
|
|
|
|
|
|
//日环比 (今天-昨天)/昨天*100%
|
|
|
- BigDecimal dateOrder = toData.getBigDecimal("allNumber").subtract(yesData.getBigDecimal("allNumber")).divide(yesData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal dateAmount = toData.getBigDecimal("orderAmount").subtract(yesData.getBigDecimal("orderAmount")).divide(yesData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
|
|
|
- data.put("dateOrderRate", dateOrder);
|
|
|
- data.put("dateAmountRate", dateAmount);
|
|
|
+ data.put("dateOrderRate", getOrderRateValue(toData, yesData));
|
|
|
+ data.put("dateAmountRate", getAmountRateValue(toData, yesData));
|
|
|
+
|
|
|
//周同比
|
|
|
- BigDecimal monthOrder = toData.getBigDecimal("allNumber").subtract(weeklyDayData.getBigDecimal("allNumber")).divide(weeklyDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal monthAmount = toData.getBigDecimal("orderAmount").subtract(weeklyDayData.getBigDecimal("orderAmount")).divide(weeklyDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
|
|
|
- data.put("monthOrderRate", monthOrder);
|
|
|
- data.put("monthAmountRate", monthAmount);
|
|
|
+ data.put("monthOrderRate", getOrderRateValue(toData, weeklyDayData));
|
|
|
+ data.put("monthAmountRate", getAmountRateValue(toData, weeklyDayData));
|
|
|
|
|
|
JSONObject inDayData = null;
|
|
|
JSONObject lastDayData = null;
|
|
@@ -564,10 +574,8 @@ public class KuaishouItemCollectSamplesServiceImpl implements IKuaishouItemColle
|
|
|
lastDayData = supplyChainService.selectOrderRate(null, itemIds, lastStart, lastEnd);
|
|
|
}
|
|
|
//数据对比
|
|
|
- BigDecimal dataOrder = inDayData.getBigDecimal("allNumber").subtract(lastDayData.getBigDecimal("allNumber")).divide(lastDayData.getBigDecimal("allNumber"), 4, RoundingMode.HALF_UP);
|
|
|
- BigDecimal dataAmount = inDayData.getBigDecimal("orderAmount").subtract(lastDayData.getBigDecimal("orderAmount")).divide(lastDayData.getBigDecimal("orderAmount"), 4, RoundingMode.HALF_UP);
|
|
|
- data.put("dataOrderRate", dataOrder);
|
|
|
- data.put("dataAmountRate", dataAmount);
|
|
|
+ data.put("dataOrderRate", getOrderRateValue(inDayData, lastDayData));
|
|
|
+ data.put("dataAmountRate", getAmountRateValue(inDayData, lastDayData));
|
|
|
}
|
|
|
return data;
|
|
|
}
|