From 7c49702d87446b8ec0a461d7c51e4e910a9d1a2f Mon Sep 17 00:00:00 2001 From: yutou <583819556@qq.com> Date: Sat, 17 May 2025 07:16:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(AnimeController):=20=E6=96=B0=E5=A2=9E=20A?= =?UTF-8?q?nimeController=20=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 AnimeController 类,实现获取今日和明日番剧功能 - 更新项目版本号至 QQBot v.1.7.24 --- .../qqbot/Controllers/AnimeController.java | 87 +++++++++++++++++++ .../com/yutou/qqbot/QQBotApplication.java | 2 +- 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/yutou/qqbot/Controllers/AnimeController.java diff --git a/src/main/java/com/yutou/qqbot/Controllers/AnimeController.java b/src/main/java/com/yutou/qqbot/Controllers/AnimeController.java new file mode 100644 index 0000000..efa51a0 --- /dev/null +++ b/src/main/java/com/yutou/qqbot/Controllers/AnimeController.java @@ -0,0 +1,87 @@ +package com.yutou.qqbot.Controllers; + + +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.yutou.qqbot.utlis.BangumiTools; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.*; + +@RestController +@RequestMapping("/bgm") +public class AnimeController { + @GetMapping("/today") + public Map getTodayAnim() { + Map returnData = new HashMap<>(); + // 获取全部一周的数据 + JSONObject allData = BangumiTools.getBangumi(-1); + + if (allData == null) { + return returnData; + } + + JSONArray bangumiArray = allData.getJSONArray("bangumi"); + if (bangumiArray == null || bangumiArray.isEmpty()) { + return returnData; + } + + Calendar calendar = Calendar.getInstance(); + calendar.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); + calendar.setFirstDayOfWeek(Calendar.MONDAY); + calendar.setTime(new Date()); + + int todayId = calendar.get(Calendar.DAY_OF_WEEK) - 1; + if (todayId == 0) { + todayId = 7; // 处理星期日的情况 + } + + int tomorrowId = todayId % 7 + 1; // 计算明天对应的 weekday id + + JSONObject todayData = null; + JSONObject tomorrowData = null; + + for (Object obj : bangumiArray) { + JSONObject item = (JSONObject) obj; + int weekdayId = item.getJSONObject("weekday").getInteger("id"); + + if (weekdayId == todayId) { + todayData = item; + } + if (weekdayId == tomorrowId) { + tomorrowData = item; + } + } + + // 打印当日数据 + if (todayData != null) { + JSONArray items = todayData.getJSONArray("items"); + if (items != null && !items.isEmpty()) { + for (Object o : items) { + JSONObject itemObj = (JSONObject) o; + if (itemObj.getString("name_cn") == null || itemObj.getString("name_cn").isEmpty()) { + itemObj.put("name_cn", itemObj.getString("name")); + } + } + } + returnData.put("today",todayData); + } + + // 打印明日数据 + if (tomorrowData != null) { + JSONArray items = tomorrowData.getJSONArray("items"); + if (items != null && !items.isEmpty()) { + for (Object o : items) { + JSONObject itemObj = (JSONObject) o; + if (itemObj.getString("name_cn") == null || itemObj.getString("name_cn").isEmpty()) { + itemObj.put("name_cn", itemObj.getString("name")); + } + } + } + returnData.put("nextDay",tomorrowData); + } + return returnData; + } +} diff --git a/src/main/java/com/yutou/qqbot/QQBotApplication.java b/src/main/java/com/yutou/qqbot/QQBotApplication.java index 87164ca..d31f157 100644 --- a/src/main/java/com/yutou/qqbot/QQBotApplication.java +++ b/src/main/java/com/yutou/qqbot/QQBotApplication.java @@ -10,7 +10,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class QQBotApplication { - public static final String version = "QQBot v.1.7.23"; + public static final String version = "QQBot v.1.7.24"; public static void main(String[] args) { System.out.println("version = " + version);