zc 2 месяцев назад
Родитель
Сommit
97a0e3e66d

+ 20 - 6
alien-store/src/main/java/shop/alien/store/service/impl/PerformanceListServiceImpl.java

@@ -469,12 +469,13 @@ public class PerformanceListServiceImpl implements PerformanceListService {
         String[] weekDays = performanceWeek.split(",");
         List<String> weekDayList = new ArrayList<>();
 
+        String[] weeklyLabels = {"周一", "周二", "周三", "周四", "周五", "周六", "周日"};
         for (String weekDay : weekDays) {
             if (StringUtils.isNotEmpty(weekDay.trim())) {
                 try {
                     int dayIndex = Integer.parseInt(weekDay.trim());
-                    if (dayIndex >= 0 && dayIndex < WEEK_DAYS.length) {
-                        weekDayList.add(WEEK_DAYS[dayIndex]);
+                    if (dayIndex >= 0 && dayIndex < weeklyLabels.length) {
+                        weekDayList.add(weeklyLabels[dayIndex]);
                     }
                 } catch (NumberFormatException e) {
                     log.warn("解析星期几失败,无效的值:{}", weekDay);
@@ -486,12 +487,26 @@ public class PerformanceListServiceImpl implements PerformanceListService {
             return "";
         }
 
-        String weekDayStr = String.join("、", weekDayList);
+        String weekDayStr = buildWeeklyDayText(weekDayList);
         String timeRange = buildLocalTimeRange(startTime, endTime);
 
         return "每周" + weekDayStr + timeRange;
     }
 
+    private String buildWeeklyDayText(List<String> weekDayList) {
+        if (weekDayList == null || weekDayList.isEmpty()) {
+            return "";
+        }
+        List<String> normalized = new ArrayList<>();
+        for (String day : weekDayList) {
+            if (day != null && day.startsWith("周")) {
+                day = day.substring(1);
+            }
+            normalized.add(day);
+        }
+        return String.join("、", normalized);
+    }
+
     /**
      * 构建时间范围(使用Date)
      *
@@ -878,10 +893,9 @@ public class PerformanceListServiceImpl implements PerformanceListService {
             String scheduleInfo = buildScheduleInfo(performance);
             if (StringUtils.isNotEmpty(scheduleInfo)) {
                 if (timeStr.length() > 0) {
-                    timeStr.append(scheduleInfo);
-                } else {
-                    timeStr.append(scheduleInfo);
+                    timeStr.append(" ");
                 }
+                timeStr.append(scheduleInfo);
             }
 
             return timeStr.toString();