浏览代码

店铺详情22-24 bug修改

jyc 1 周之前
父节点
当前提交
1d4069f99f
共有 1 个文件被更改,包括 20 次插入10 次删除
  1. 20 10
      alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

+ 20 - 10
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -42,6 +42,7 @@ import java.net.URLEncoder;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatterBuilder;
+import java.time.format.TextStyle;
 import java.time.temporal.ChronoField;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
@@ -1043,17 +1044,26 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
             result.setStoreBusinessInfo(storeBusinessInfos.get(0));
             StoreBusinessInfo storeBusinessInfo = result.getStoreBusinessInfo();
             if (ObjectUtils.isNotEmpty(storeBusinessInfo)) {
-                if (StringUtils.isNotEmpty(storeBusinessInfo.getStartTime()) && StringUtils.isNotEmpty(storeBusinessInfo.getEndTime())) {
-                    LocalTime now = LocalTime.now();
-                    List<String> startList = Arrays.asList(storeBusinessInfo.getStartTime().split(":"));
-                    List<String> endList = Arrays.asList(storeBusinessInfo.getEndTime().split(":"));
-                    LocalTime start = LocalTime.of(Integer.parseInt(startList.get(0)), Integer.parseInt(startList.get(1)));
-                    LocalTime end = LocalTime.of(Integer.parseInt(endList.get(0)), Integer.parseInt(startList.get(1)));
-                    if (now.isAfter(start) && now.isBefore(end)) {
-                        result.setYyFlag(1);
-                    }else {
-                        result.setYyFlag(0);
+
+                Calendar calendar = Calendar.getInstance(); // 获取Calendar实例
+                int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 获取星期几,注意Calendar中的DAY_OF_WEEK是从1(代表星期天)开始的
+                String[] days = {"7", "1", "2", "3", "4", "5", "6"};
+                String day = days[dayOfWeek - 1];
+                if (storeBusinessInfo.getBusinessDate().contains(day)) {
+                    if (StringUtils.isNotEmpty(storeBusinessInfo.getStartTime()) && StringUtils.isNotEmpty(storeBusinessInfo.getEndTime())) {
+                        LocalTime now = LocalTime.now();
+                        List<String> startList = Arrays.asList(storeBusinessInfo.getStartTime().split(":"));
+                        List<String> endList = Arrays.asList(storeBusinessInfo.getEndTime().split(":"));
+                        LocalTime start = LocalTime.of(Integer.parseInt(startList.get(0)), Integer.parseInt(startList.get(1)));
+                        LocalTime end = LocalTime.of(Integer.parseInt(endList.get(0)), Integer.parseInt(startList.get(1)));
+                        if (now.isAfter(start) && now.isBefore(end)) {
+                            result.setYyFlag(1);
+                        }else {
+                            result.setYyFlag(0);
+                        }
                     }
+                }else {
+                    result.setYyFlag(0);
                 }
             }
         }