feat: 更新数据库结构和链接任务逻辑

主要修改:
1. 更新`game.sql`文件,添加`system_config`表并调整多个表的`ENGINE`和`AUTO_INCREMENT`设置。
2. 在`LinkTask`实体中新增`completedPoints`字段,更新状态字段以包含`COMPLETED`状态。
3. 在`LinkTaskMapper`中新增根据设备ID和状态查询链接任务的方法。
4. 在`LinkStatusService`中更新状态描述映射,增加对`COMPLETED`状态的处理。
5. 在`DeviceStatusService`和`ScriptClient`中新增解析设备状态的方法,支持检查设备是否完成游戏。

技术细节:
- 通过数据库结构的更新,增强了系统的配置管理和链接任务的状态处理能力。
- 新增的功能支持更灵活的设备状态监控和任务管理。
This commit is contained in:
zyh
2025-08-27 16:00:43 +08:00
parent bb4136b4ab
commit c6e8953960
16 changed files with 620 additions and 55 deletions

View File

@@ -0,0 +1,29 @@
-- 数据库迁移脚本添加完成时点数字段和COMPLETED状态
-- 执行时间2025-08-27
-- 1. 添加 completed_points 字段
ALTER TABLE `link_task`
ADD COLUMN `completed_points` int UNSIGNED NULL DEFAULT NULL COMMENT '完成时的点数'
AFTER `first_region_select_at`;
-- 2. 修改 status 枚举,添加 COMPLETED 状态
ALTER TABLE `link_task`
MODIFY COLUMN `status` enum('NEW','USING','LOGGED_IN','COMPLETED','REFUNDED','EXPIRED')
CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'NEW';
-- 3. 验证修改结果
SELECT
COLUMN_NAME,
DATA_TYPE,
COLUMN_TYPE,
IS_NULLABLE,
COLUMN_DEFAULT,
COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'link_task'
AND COLUMN_NAME IN ('status', 'completed_points')
ORDER BY ORDINAL_POSITION;
-- 4. 检查表结构
SHOW CREATE TABLE `link_task`;