feat: 实现RCU固件升级服务核心功能

- 添加升级服务主逻辑,包括定时触发升级、状态查询和日志记录
- 实现数据库初始化脚本和日志表结构
- 添加PM2部署配置文件
- 实现环境变量配置系统
- 添加API客户端模块处理外部接口调用
- 实现升级状态轮询和超时处理机制
- 添加测试用例验证核心功能
This commit is contained in:
2026-01-21 13:34:42 +08:00
commit d04205ddba
23 changed files with 8788 additions and 0 deletions

25
scripts/init_db.sql Normal file
View File

@@ -0,0 +1,25 @@
-- Create database (run manually or via script if user has permissions)
-- CREATE DATABASE test_upgrade;
-- Connect to test_upgrade before running the following:
CREATE TABLE IF NOT EXISTS upgrade_log (
uuid UUID NOT NULL,
start_time TIMESTAMP NOT NULL,
roomtype_id INTEGER NOT NULL,
host_str TEXT NOT NULL,
filename TEXT NOT NULL,
status TEXT,
end_time TIMESTAMP,
file_type TEXT,
config_version TEXT,
firmware_version TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS upgrade_state (
state_key TEXT PRIMARY KEY,
current_roomtype_index INTEGER DEFAULT 0,
execution_count INTEGER DEFAULT 0,
last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);