cd d:/project/急救转运/code/Api/RuoYi-Vue-master
mysql -u root -p ruoyi < sql/add_legacy_system_id.sql
或者在MySQL客户端中执行:sql source d:/project/急救转运/code/Api/RuoYi-Vue-master/sql/add_legacy_system_id.sql
编辑 ruoyi-admin/src/main/resources/application.yml,添加:
# 旧系统配置
legacy:
system:
base-url: http://your-legacy-system-url # 修改为实际的旧系统地址
enabled: true
示例:yaml # 旧系统配置 legacy: system: base-url: http://192.168.1.100:8080 enabled: true
# 停止应用
# ... (根据你的启动方式停止)
# 重新启动应用
cd ruoyi-admin
mvn spring-boot:run
# 或者
java -jar ruoyi-admin.jar
系统管理 -> 定时任务新增 按钮任务名称: 旧系统任务同步
任务组名: DEFAULT
调用目标字符串: legacySystemSyncTask.syncPendingTasks()
cron表达式: 0 0/10 * * * ?
确定 保存执行一次 测试SELECT
t.task_id,
t.task_code,
e.sync_status,
e.legacy_service_ord_id,
e.sync_error_msg
FROM sys_task t
JOIN sys_task_emergency e ON t.task_id = e.task_id
WHERE t.task_type = 'EMERGENCY_TRANSFER'
ORDER BY t.create_time DESC
LIMIT 1;
# Linux
tail -f logs/sys-info.log | grep "LegacySystemSync"
# Windows (在日志文件中搜索)
# 搜索关键词: LegacySystemSyncServiceImpl
| sync_status | 说明 | 是否正常 |
|---|---|---|
| 0 | 未同步 | ⏳ 等待同步 |
| 1 | 同步中 | ⏳ 正在同步 |
| 2 | 同步成功 | ✅ 正常 |
| 3 | 同步失败 | ❌ 需处理 |
原因: 自动同步未触发或定时任务未启动
解决:
1. 检查 legacy.system.enabled 是否为 true
2. 在定时任务中点击"执行一次"
3. 查看日志是否有异常
原因: 旧系统URL错误或网络不通
解决:
1. 检查 legacy.system.base-url 配置
2. 查看 sync_error_msg 字段的错误信息
3. 测试网络: curl http://旧系统地址/admin_save_19.gds
-- 将同步状态重置为0
UPDATE sys_task_emergency
SET sync_status = 0,
sync_error_msg = NULL
WHERE task_id = <任务ID>;
-- 然后执行定时任务或等待自动同步
方法1 - 修改配置 (推荐):yaml legacy: system: enabled: false
方法2 - 停止定时任务:
在 系统管理 -> 定时任务 中,将任务状态改为"暂停"
SELECT
CASE sync_status
WHEN 0 THEN '未同步'
WHEN 1 THEN '同步中'
WHEN 2 THEN '同步成功'
WHEN 3 THEN '同步失败'
END AS 状态,
COUNT(*) AS 数量
FROM sys_task_emergency
GROUP BY sync_status;
SELECT
t.task_code AS 任务编号,
e.sync_status AS 同步状态,
e.legacy_service_ord_id AS 旧系统ID,
e.sync_time AS 同步时间,
e.sync_error_msg AS 错误信息
FROM sys_task t
JOIN sys_task_emergency e ON t.task_id = e.task_id
ORDER BY e.sync_time DESC
LIMIT 10;
如果遇到问题:
1. 查看详细文档: 旧系统同步配置说明.md
2. 检查日志文件: logs/sys-info.log
3. 联系系统管理员
application.yml 已配置 legacy.system.base-urllegacy.system.enabled 设置为 true全部完成后,旧系统同步功能即可正常运行!🎉