1
This commit is contained in:
@@ -1935,30 +1935,39 @@ public class JDUtil {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 按 remark 升序排序
|
// 按 remark 升序排序(null 值排最后)
|
||||||
todayOrders.sort(Comparator.comparing(JDOrder::getRemark));
|
todayOrders.sort(Comparator.comparing(
|
||||||
|
JDOrder::getRemark,
|
||||||
|
Comparator.nullsLast(String::compareTo)
|
||||||
|
));
|
||||||
|
|
||||||
// 先按 distributionMark 分组,再按 modelNumber 分组
|
// 先按 distributionMark 分组,再按 modelNumber 分组
|
||||||
Map<String, Map<String, List<JDOrder>>> groupedOrders = todayOrders.stream()
|
Map<String, Map<String, List<JDOrder>>> groupedOrders = todayOrders.stream()
|
||||||
.collect(Collectors.groupingBy(JDOrder::getDistributionMark,
|
.collect(Collectors.groupingBy(JDOrder::getDistributionMark,
|
||||||
Collectors.groupingBy(JDOrder::getModelNumber)));
|
Collectors.groupingBy(JDOrder::getModelNumber)));
|
||||||
|
|
||||||
// 对每个 distributionMark 分组分别构建并发送消息
|
// 遍历每个 distributionMark 分组,生成独立的消息内容并发送
|
||||||
groupedOrders.forEach((distributionMark, modelGroups) -> {
|
for (Map.Entry<String, Map<String, List<JDOrder>>> entry : groupedOrders.entrySet()) {
|
||||||
|
String distributionMark = entry.getKey();
|
||||||
|
Map<String, List<JDOrder>> modelGroups = entry.getValue();
|
||||||
|
|
||||||
StringBuilder resultBuilder = new StringBuilder();
|
StringBuilder resultBuilder = new StringBuilder();
|
||||||
|
|
||||||
resultBuilder.append("【").append(distributionMark).append("】").append("\n");
|
resultBuilder.append("【").append(distributionMark).append("】").append("\n");
|
||||||
|
|
||||||
modelGroups.forEach((modelNumber, orders) -> {
|
for (Map.Entry<String, List<JDOrder>> modelEntry : modelGroups.entrySet()) {
|
||||||
|
String modelNumber = modelEntry.getKey();
|
||||||
|
List<JDOrder> orders = modelEntry.getValue();
|
||||||
|
|
||||||
int count = orders.size();
|
int count = orders.size();
|
||||||
double totalPaymentAmount = orders.stream()
|
double totalPaymentAmount = orders.stream()
|
||||||
.mapToDouble(JDOrder::getPaymentAmount)
|
.mapToDouble(order -> order.getPaymentAmount() != null ? order.getPaymentAmount() : 0.0)
|
||||||
.sum();
|
.sum();
|
||||||
double totalRebateAmount = orders.stream()
|
double totalRebateAmount = orders.stream()
|
||||||
.mapToDouble(JDOrder::getRebateAmount)
|
.mapToDouble(order -> order.getRebateAmount() != null ? order.getRebateAmount() : 0.0)
|
||||||
.sum();
|
.sum();
|
||||||
|
|
||||||
resultBuilder.append("型号:").append(modelNumber)
|
resultBuilder.append("型号:").append(modelNumber != null ? modelNumber : "未知")
|
||||||
.append("\n数量:").append(count)
|
.append("\n数量:").append(count)
|
||||||
.append("\n总支付金额:").append(String.format("%.2f", totalPaymentAmount))
|
.append("\n总支付金额:").append(String.format("%.2f", totalPaymentAmount))
|
||||||
.append(" 元")
|
.append(" 元")
|
||||||
@@ -1967,21 +1976,21 @@ public class JDUtil {
|
|||||||
.append("\n────────────\n");
|
.append("\n────────────\n");
|
||||||
|
|
||||||
for (JDOrder order : orders) {
|
for (JDOrder order : orders) {
|
||||||
resultBuilder.append("单:").append(order.getRemark())
|
resultBuilder.append("单:").append(order.getRemark() != null ? order.getRemark() : "未提供")
|
||||||
.append("\n型号:").append(order.getModelNumber())
|
.append("\n型号:").append(order.getModelNumber() != null ? order.getModelNumber() : "未提供")
|
||||||
.append("\n下单付款:").append(order.getPaymentAmount())
|
.append("\n下单付款:").append(order.getPaymentAmount() != null ? String.format("%.2f", order.getPaymentAmount()) : "0.00")
|
||||||
.append(" 元")
|
.append(" 元")
|
||||||
.append("\n后返金额:").append(order.getRebateAmount())
|
.append("\n后返金额:").append(order.getRebateAmount() != null ? String.format("%.2f", order.getRebateAmount()) : "0.00")
|
||||||
.append(" 元")
|
.append(" 元")
|
||||||
.append("\n地址:").append(order.getAddress())
|
.append("\n地址:").append(order.getAddress() != null ? order.getAddress() : "未提供")
|
||||||
.append("\n物流链接:").append(order.getLogisticsLink())
|
.append("\n物流链接:").append(order.getLogisticsLink() != null ? order.getLogisticsLink() : "无")
|
||||||
.append("\n────────────\n");
|
.append("\n────────────\n");
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
// 发送每条分组的消息到微信
|
// 发送每条分组的消息到微信
|
||||||
wxUtil.sendTextMessage(fromWxid, resultBuilder.toString(), 1, fromWxid, true);
|
wxUtil.sendTextMessage(fromWxid, resultBuilder.toString(), 1, fromWxid, true);
|
||||||
});
|
}
|
||||||
} else {
|
} else {
|
||||||
// 生成当前日期 2025-02-05
|
// 生成当前日期 2025-02-05
|
||||||
String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
String date = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||||
|
|||||||
Reference in New Issue
Block a user