From 8fe00fbb7c146e1197c808b75a307a24a882175d Mon Sep 17 00:00:00 2001 From: Timi Date: Sat, 26 Sep 2026 09:58:49 +0800 Subject: [PATCH] update sms max customer --- .../implement/GaoOrderReminderServiceImplement.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoOrderReminderServiceImplement.java b/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoOrderReminderServiceImplement.java index a08e4b2..96f402c 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoOrderReminderServiceImplement.java +++ b/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoOrderReminderServiceImplement.java @@ -46,6 +46,8 @@ public class GaoOrderReminderServiceImplement implements GaoOrderReminderService private static final String SMS_TEMPLATE_ID = "2725097"; private static final String ZONE_ID = "Asia/Shanghai"; private static final String INTERNAL_TEMPLATE_NAME = "GaoOrderReminder.ftl"; + private static final int MAX_SMS_CUSTOMER_NAME_COUNT = 6; + private static final int MAX_SMS_CUSTOMER_COUNT = 99; private final GaoOrderReminderMapper mapper; private final GaoUserMapper gaoUserMapper; @@ -262,10 +264,15 @@ public class GaoOrderReminderServiceImplement implements GaoOrderReminderService nameMap.putIfAbsent(order.getCustomerId(), displayCustomerName(order.getCustomerName())); } List nameList = new ArrayList<>(nameMap.values()); - if (nameList.size() <= 2) { - return String.join("、", nameList); + int customerCount = nameList.size(); + int displayCount = Math.min(customerCount, MAX_SMS_CUSTOMER_NAME_COUNT); + String customerNames = String.join("、", nameList.subList(0, displayCount)); + if (MAX_SMS_CUSTOMER_NAME_COUNT < customerCount) { + String customerCountText = MAX_SMS_CUSTOMER_COUNT < customerCount + ? "%d+".formatted(MAX_SMS_CUSTOMER_COUNT) : String.valueOf(customerCount); + return "%s等 %s 位客户".formatted(customerNames, customerCountText); } - return "%s、%s等 %d 位".formatted(nameList.getFirst(), nameList.get(1), nameList.size()); + return customerNames; } /// 获取待核销收款金额