diff --git a/src/main/java/cn/van/business/util/JDUtils.java b/src/main/java/cn/van/business/util/JDUtils.java index 6298780..fdeaa49 100644 --- a/src/main/java/cn/van/business/util/JDUtils.java +++ b/src/main/java/cn/van/business/util/JDUtils.java @@ -29,8 +29,10 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; +import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static java.lang.Thread.sleep; @@ -215,37 +217,38 @@ public class JDUtils { * 今天订单 * 昨天订单 * */ - String content = ""; + StringBuilder content = new StringBuilder(); switch (order) { case "菜单": - content += "菜单:京+命令 \n 如: 京今日统计\r"; - content += "今日统计\r"; - content += "昨天统计\r"; - content += "七日统计\r"; - content += "一个月统计\r"; - content += "两个月统计\r"; - content += "三个月统计\r"; - content += "今日订单\r"; - content += "昨日订单\r"; - content += "刷新三天\r"; - content += "刷新两个月\r"; + content.append("菜单:京+命令 \n 如: 京今日统计\r"); + content.append("今日统计\r"); + content.append("昨天统计\r"); + content.append("七日统计\r"); + content.append("一个月统计\r"); + content.append("两个月统计\r"); + content.append("三个月统计\r"); + content.append("今日订单\r"); + content.append("昨日订单\r"); + content.append("刷新三天\r"); + content.append("刷新两个月\r"); + content.append("违规排行\r"); break; case "今日统计": { List todayOrders = filterOrdersByDate(orderRows, 0); // 订单总数,已付款,已取消,佣金总计 - content += "今日统计:"; - content += "订单总数:" + todayOrders.size() + "\r"; - content += "已付款:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("今日统计:"); + content.append("订单总数:").append(todayOrders.size()).append("\r"); + content.append("已付款:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); break; } @@ -253,104 +256,104 @@ public class JDUtils { List yesterdayOrders = filterOrdersByDate(orderRows, 1); List todayOrders = filterOrdersByDate(orderRows, 0); yesterdayOrders.removeAll(todayOrders); - content += "昨日统计:"; - content += "订单总数:" + yesterdayOrders.size() + "\r"; - content += "已付款:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("昨日统计:"); + content.append("订单总数:").append(yesterdayOrders.size()).append("\r"); + content.append("已付款:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); break; } case "七日统计": { List last7DaysOrders = filterOrdersByDate(orderRows, 7); - content += "七日统计:"; - content += "订单总数:" + last7DaysOrders.size() + "\r"; - content += "已付款:" + last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("七日统计:"); + content.append("订单总数:").append(last7DaysOrders.size()).append("\r"); + content.append("已付款:").append(last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(last7DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); break; } case "一个月统计":{ List last30DaysOrders = filterOrdersByDate(orderRows, 30); - content += "一个月统计:"; - content += "订单总数:" + last30DaysOrders.size() + "\r"; - content += "已付款:" + last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("一个月统计:"); + content.append("订单总数:").append(last30DaysOrders.size()).append("\r"); + content.append("已付款:").append(last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(last30DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); break; } case "两个月统计":{ List last60DaysOrders = filterOrdersByDate(orderRows, 60); - content += "两个月统计:"; - content += "订单总数:" + last60DaysOrders.size() + "\r"; - content += "已付款:" + last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("两个月统计:"); + content.append("订单总数:").append(last60DaysOrders.size()).append("\r"); + content.append("已付款:").append(last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(last60DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); break; } case "三个月统计":{ List last90DaysOrders = filterOrdersByDate(orderRows, 90); - content += "订单总数:" + last90DaysOrders.size() + "\r"; - content += "已付款:" + last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("订单总数:").append(last90DaysOrders.size()).append("\r"); + content.append("已付款:").append(last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(last90DaysOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); break; } case "今日订单": { List todayOrders = filterOrdersByDate(orderRows, 0); // 订单总数,已付款,已取消,佣金总计 - content += "今日统计:"; - content += "订单总数:" + todayOrders.size() + "\r"; - content += "已付款:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("今日统计:"); + content.append("订单总数:").append(todayOrders.size()).append("\r"); + content.append("已付款:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(todayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); for (OrderRow orderRow : todayOrders) { orderToWx(orderRow, false); @@ -362,19 +365,19 @@ public class JDUtils { List yesterdayOrders = filterOrdersByDate(orderRows, 1); List todayOrders = filterOrdersByDate(orderRows, 0); yesterdayOrders.removeAll(todayOrders); - content += "昨日统计:"; - content += "订单总数:" + yesterdayOrders.size() + "\r"; - content += "已付款:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count() + "\r"; - content += "已取消:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count() + "\r"; - content += "已完成:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count() + "\r"; - content += "违规:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + content.append("昨日统计:"); + content.append("订单总数:").append(yesterdayOrders.size()).append("\r"); + content.append("已付款:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).count()).append("\r"); + content.append("已取消:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() != 16 && orderRow.getValidCode() != 17).count()).append("\r"); + content.append("已完成:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).count()).append("\r"); + content.append("违规:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).count() + "\r"; - content += "已付款佣金:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16 ).mapToDouble(OrderRow::getEstimateFee).sum() + "\r"; - content += "已完成佣金:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17 ).mapToDouble(OrderRow::getEstimateFee).sum(); - content += "\r"+"违规佣金:" + yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 2).count()).append("\r"); + content.append("已付款佣金:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum()).append("\r"); + content.append("已完成佣金:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum()); + content.append("\r" + "违规佣金:").append(yesterdayOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 || orderRow.getValidCode() == 28 - || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01 ).sum(); + || orderRow.getValidCode() == 2).mapToDouble(orderRow -> orderRow.getEstimateCosPrice() * orderRow.getCommissionRate() * 0.01).sum()); for (OrderRow orderRow : yesterdayOrders) { orderToWx(orderRow, false); } @@ -408,21 +411,37 @@ public class JDUtils { } } } - content += "刷新三天成功,耗时" + (System.currentTimeMillis() - start) / 1000 + "秒\r" + "刷新订单数:" + count; + content.append("刷新三天成功,耗时").append((System.currentTimeMillis() - start) / 1000).append("秒\r").append("刷新订单数:").append(count); } case "刷新两个月": { long start = System.currentTimeMillis(); fetchHistoricalOrders(); - content += "刷新两个月,耗时" + (System.currentTimeMillis() - start) / 1000 + "秒\r"; + content.append("刷新两个月,耗时").append((System.currentTimeMillis() - start) / 1000).append("秒\r"); + + } + case "违规排行": { + List oneYearOrders = filterOrdersByDate(orderRows, 365); + // 计算出skuId 违规的前7个排行 + Map skuIdViolationCountMap = oneYearOrders.stream().filter(orderRow -> orderRow.getValidCode() == 27 + || orderRow.getValidCode() == 28 + || orderRow.getValidCode() == 2).collect(Collectors.groupingBy(OrderRow::getSkuId, Collectors.counting())); + List> sortedViolationCounts = skuIdViolationCountMap.entrySet().stream() + .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())).limit(7).collect(Collectors.toList()); + for (Map.Entry entry : sortedViolationCounts) { + Long skuId = entry.getKey(); + Long count = entry.getValue(); + content.append("商品:").append(skuId).append(" 违规次数:").append(count).append("\r"); + } + content.append("违规排行:"); } break; default: sendOrderToWxByOrderJD("菜单"); } - if (!content.isEmpty()) { - wxUtil.sendTextMessage(WXUtil.super_admin_wxid, content, 1, WXUtil.super_admin_wxid); + if (content.length() > 0) { + wxUtil.sendTextMessage(WXUtil.super_admin_wxid, content.toString(), 1, WXUtil.super_admin_wxid); } }