From 10a6186cc7b3fa100c9b8abb00291cd7642dc7d6 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 12 二月 2026 16:51:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/holiday/HolidayUtil.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/holiday/HolidayUtil.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/holiday/HolidayUtil.java
index 67fe06e..baf45b2 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/holiday/HolidayUtil.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/holiday/HolidayUtil.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.xiaopeng.common.core.constant.CacheConstants;
+import com.xiaopeng.common.core.utils.HttpUtils;
 import com.xiaopeng.common.redis.service.RedisService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -43,4 +44,38 @@
         return false;
     }
 
+
+    /**
+     * 2非工作日  0工作日  1节假日 3调休日
+     * @return
+     */
+    public  Integer isHolidayToday() {
+        LocalDate now = LocalDate.now();
+        Object cacheObject = redisService.getCacheObject(CacheConstants.IS_DAY + now);
+        // 判断缓存里面是否有节假日算法
+        if (cacheObject!=null) {
+            return Integer.valueOf(cacheObject.toString());
+        }
+        String result = HttpUtils.sendGet("https://publicapi.xiaoai.me/holiday/day?date=" +now);
+
+//        String result = HttpUtils.sendGet("https://publicapi.xiaoai.me/holiday/day?date=2026-01-04");
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        Object data = jsonObject.get("data");
+        JSONArray parse = JSONArray.parse(data.toString());
+        for (int i = 0; i < parse.size(); i++) {
+            JSONObject jsonObject1 = parse.getJSONObject(i);
+            String daytype = jsonObject1.get("daytype").toString();
+            if (daytype.equals("0")) {
+                redisService.setCacheObject(CacheConstants.IS_DAY + now, "0", 1l, TimeUnit.DAYS);
+                return 0;
+            } else if (daytype.equals("1")) {
+                redisService.setCacheObject(CacheConstants.IS_DAY + now, "1", 1l, TimeUnit.DAYS);
+                return 1;
+            } else if (daytype.equals("2")) {
+                redisService.setCacheObject(CacheConstants.IS_DAY + now, "0", 1l, TimeUnit.DAYS);
+                return 0;
+            }
+        }
+        return 0;
+    }
 }

--
Gitblit v1.7.1