精简统计
This commit is contained in:
@@ -197,7 +197,7 @@ public class JDUtil {
|
||||
return new OrderStats(orders.size(), orders.size() - canceled, paid, orders.stream().filter(o -> o.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum(), pending, orders.stream().filter(o -> o.getValidCode() == 15).mapToDouble(OrderRow::getEstimateFee).sum(), canceled, completed, orders.stream().filter(o -> o.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum(), getStreamForWeiGui(orders).count(), getStreamForWeiGui(orders).mapToDouble(o -> o.getEstimateCosPrice() * o.getCommissionRate() * 0.01).sum());
|
||||
}
|
||||
|
||||
private StringBuilder buildStatsContent(String title, OrderStats stats) {
|
||||
private StringBuilder buildStatsContentAll(String title, OrderStats stats) {
|
||||
StringBuilder content = new StringBuilder();
|
||||
content//[爱心][Wow][Packet][Party][Broken][心碎][亲亲][色]
|
||||
.append("* ").append(title).append(" *\n").append("━━━━━━━━━━━━\n").append("[爱心] 订单总数:").append(stats.getTotalOrders()).append("\n") // [文件]
|
||||
@@ -215,6 +215,25 @@ public class JDUtil {
|
||||
.append("━━━━━━━━━━━━");
|
||||
return content;
|
||||
}
|
||||
private StringBuilder buildStatsContentMin(String title, OrderStats stats) {
|
||||
StringBuilder content = new StringBuilder();
|
||||
content//[爱心][Wow][Packet][Party][Broken][心碎][亲亲][色]
|
||||
.append(title).append("\n").append("━━━━━━━━━━━━\n")
|
||||
//.append("[爱心] 订单总数:").append(stats.getTotalOrders()).append("\n") // [文件]
|
||||
.append("[Party] 有效订单:").append(stats.getValidOrders()).append("\n") // [OK]
|
||||
//.append("[心碎]已取消:").append(stats.getCanceledOrders()).append("\n") // [禁止]
|
||||
|
||||
.append("────────────\n").append("[爱心]已付款:").append(stats.getPaidOrders()).append("\n") // [钱袋]
|
||||
.append("[Packet] 已付款佣金:").append(String.format("%.2f", stats.getPaidCommission())).append("\n") // [钞票]
|
||||
//.append("────────────\n").append("[Wow] 待付款:").append(stats.getPendingOrders()).append("\n") // [时钟]
|
||||
//.append("[Packet] 待付款佣金:").append(String.format("%.2f", stats.getPendingCommission())).append("\n") // [钱]
|
||||
.append("────────────\n").append("[亲亲] 已完成:").append(stats.getCompletedOrders()).append("\n") // [旗帜]
|
||||
.append("[Packet] 已完成佣金:").append(String.format("%.2f", stats.getCompletedCommission())).append("\n") // [信用卡]
|
||||
.append("────────────\n").append("[Emm] 违规订单:").append(stats.getViolations()).append("\n") // [警告]
|
||||
.append("[Broken] 违规佣金:").append(String.format("%.2f", stats.getViolationCommission())).append("\n") // [炸弹]
|
||||
.append("━━━━━━━━━━━━");
|
||||
return content;
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收京粉指令指令
|
||||
@@ -284,14 +303,14 @@ public class JDUtil {
|
||||
// 订单总数,已付款,已取消,佣金总计
|
||||
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
||||
OrderStats stats = calculateStats(todayOrders);
|
||||
contents.add(buildStatsContent("今日统计", stats));
|
||||
contents.add(buildStatsContentAll("今日统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(todayOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -300,14 +319,14 @@ public class JDUtil {
|
||||
case "昨日统计": {
|
||||
List<OrderRow> yesterdayOrders = filterOrdersByDate(orderRows, 1);
|
||||
OrderStats stats = calculateStats(yesterdayOrders);
|
||||
contents.add(buildStatsContent("昨日统计", stats));
|
||||
contents.add(buildStatsContentAll("昨日统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(yesterdayOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -317,14 +336,14 @@ public class JDUtil {
|
||||
case "三日统计": {
|
||||
List<OrderRow> last3DaysOrders = filterOrdersByDate(orderRows, 3);
|
||||
OrderStats stats = calculateStats(last3DaysOrders);
|
||||
contents.add(buildStatsContent("三日统计", stats));
|
||||
contents.add(buildStatsContentAll("三日统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last3DaysOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -334,14 +353,14 @@ public class JDUtil {
|
||||
case "七日统计": {
|
||||
List<OrderRow> last7DaysOrders = filterOrdersByDate(orderRows, 7);
|
||||
OrderStats stats = calculateStats(last7DaysOrders);
|
||||
contents.add(buildStatsContent("七日统计", stats));
|
||||
contents.add(buildStatsContentAll("七日统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last7DaysOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -351,14 +370,14 @@ public class JDUtil {
|
||||
case "一个月统计": {
|
||||
List<OrderRow> last30DaysOrders = filterOrdersByDate(orderRows, 30);
|
||||
OrderStats stats = calculateStats(last30DaysOrders);
|
||||
contents.add(buildStatsContent("一个月统计", stats));
|
||||
contents.add(buildStatsContentAll("一个月统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last30DaysOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -367,14 +386,14 @@ public class JDUtil {
|
||||
case "两个月统计": {
|
||||
List<OrderRow> last60DaysOrders = filterOrdersByDate(orderRows, 60);
|
||||
OrderStats stats = calculateStats(last60DaysOrders);
|
||||
contents.add(buildStatsContent("两个月统计", stats));
|
||||
contents.add(buildStatsContentAll("两个月统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last60DaysOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -383,14 +402,14 @@ public class JDUtil {
|
||||
case "三个月统计": {
|
||||
List<OrderRow> last90DaysOrders = filterOrdersByDate(orderRows, 90);
|
||||
OrderStats stats = calculateStats(last90DaysOrders);
|
||||
contents.add(buildStatsContent("三个月统计", stats));
|
||||
contents.add(buildStatsContentAll("三个月统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last90DaysOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -401,14 +420,14 @@ public class JDUtil {
|
||||
int days = LocalDate.now().getDayOfMonth();
|
||||
List<OrderRow> thisMonthOrders = filterOrdersByDate(orderRows, days);
|
||||
OrderStats stats = calculateStats(thisMonthOrders);
|
||||
contents.add(buildStatsContent("这个月统计", stats));
|
||||
contents.add(buildStatsContentAll("这个月统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(thisMonthOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -423,14 +442,14 @@ public class JDUtil {
|
||||
lastMonthOrders = lastMonthOrders.stream().filter(orderRow -> !thisMonthOrders.contains(orderRow)).collect(Collectors.toList());
|
||||
|
||||
OrderStats stats = calculateStats(lastMonthOrders);
|
||||
contents.add(buildStatsContent("上个月统计", stats));
|
||||
contents.add(buildStatsContentAll("上个月统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(lastMonthOrders);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -441,14 +460,14 @@ public class JDUtil {
|
||||
|
||||
case "总统计": {
|
||||
OrderStats stats = calculateStats(orderRows);
|
||||
contents.add(buildStatsContent("总统计", stats));
|
||||
contents.add(buildStatsContentAll("总统计", stats));
|
||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(orderRows);
|
||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
||||
if (statsByUnionId != null) {
|
||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||
OrderStats statsDetail = entry.getValue();
|
||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
||||
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||
}
|
||||
}
|
||||
contents.add(stringBuilder);
|
||||
@@ -461,7 +480,7 @@ public class JDUtil {
|
||||
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
||||
// 订单总数,已付款,已取消,佣金总计
|
||||
OrderStats stats = calculateStats(todayOrders);
|
||||
contents.add(buildStatsContent("今日统计", stats));
|
||||
contents.add(buildStatsContentAll("今日统计", stats));
|
||||
if (!todayOrders.isEmpty()) {
|
||||
orderUtil.orderToWxBatch(todayOrders);
|
||||
}
|
||||
@@ -478,7 +497,7 @@ public class JDUtil {
|
||||
logger.info("今日过滤后数量:{}", todayOrders.size());
|
||||
logger.info("最终昨日订单数量:{}", yesterdayOrders.size());
|
||||
OrderStats stats = calculateStats(yesterdayOrders);
|
||||
contents.add(buildStatsContent("昨日统计", stats));
|
||||
contents.add(buildStatsContentAll("昨日统计", stats));
|
||||
if (!yesterdayOrders.isEmpty()) {
|
||||
orderUtil.orderToWxBatch(yesterdayOrders);
|
||||
}
|
||||
@@ -489,7 +508,7 @@ public class JDUtil {
|
||||
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
||||
last7DaysOrders.removeAll(todayOrders);
|
||||
OrderStats stats = calculateStats(last7DaysOrders);
|
||||
contents.add(buildStatsContent("七日统计", stats));
|
||||
contents.add(buildStatsContentAll("七日统计", stats));
|
||||
|
||||
if (!last7DaysOrders.isEmpty()) {
|
||||
orderUtil.orderToWxBatch(last7DaysOrders);
|
||||
|
||||
Reference in New Issue
Block a user