diff --git a/src/main/java/cn/van/business/repository/OrderRowRepository.java b/src/main/java/cn/van/business/repository/OrderRowRepository.java index c9adeb7..28e2619 100644 --- a/src/main/java/cn/van/business/repository/OrderRowRepository.java +++ b/src/main/java/cn/van/business/repository/OrderRowRepository.java @@ -60,6 +60,8 @@ public interface OrderRowRepository extends JpaRepository { @Param("unionIds") List unionIds ); + List findByUnionId(long l); + //// 在OrderRowRepository中添加模糊查询方法 //// 模糊查询收件人姓名或地址(包含分页) //@Query("SELECT o FROM OrderRow o WHERE " + "o.recipientName LIKE %:keyword% OR " + "o.address LIKE %:keyword% " + "ORDER BY o.orderTime DESC") diff --git a/src/main/java/cn/van/business/util/JDUtil.java b/src/main/java/cn/van/business/util/JDUtil.java index ad0bff4..a8c519f 100644 --- a/src/main/java/cn/van/business/util/JDUtil.java +++ b/src/main/java/cn/van/business/util/JDUtil.java @@ -720,6 +720,26 @@ public class JDUtil { contents.add(content); } + // 查询一个京粉备注的所有订单 + if (order.startsWith("JF")) { + String jf = order.replace("JF", ""); + String uuid = getJdidFromRemark(jf); + if (uuid != null) { + orderRows = orderRowRepository.findByUnionId(Long.parseLong(uuid)); + OrderStats stats = calculateStats(orderRows); + contents.add(buildStatsContentAll("总统计", stats)); + Map statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(orderRows); + StringBuilder stringBuilder = new StringBuilder().append("详:\n"); + if (statsByUnionId != null) { + for (Map.Entry entry : statsByUnionId.entrySet()) { + OrderStats statsDetail = entry.getValue(); + String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey())); + stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail)); + } + } + contents.add(stringBuilder); + } + } } else { try { sendOrderToWxByOrderJD("菜单", fromWxid); diff --git a/src/main/java/cn/van/business/util/WXUtil.java b/src/main/java/cn/van/business/util/WXUtil.java index 7c2d863..6d7b32f 100644 --- a/src/main/java/cn/van/business/util/WXUtil.java +++ b/src/main/java/cn/van/business/util/WXUtil.java @@ -107,6 +107,14 @@ public class WXUtil { public static String getRemarkFromJdid(String jdid) { return jdidToRemarkMap.get(jdid); } + public static String getJdidFromRemark(String remark) { + for (Map.Entry entry : jdidToRemarkMap.entrySet()) { + if (entry.getValue().equals(remark)) { + return entry.getKey(); + } + } + return null; + } public static List getSuperAdmins(String wxid) { List result = new ArrayList<>();