-- 支付信息双向同步功能 - 数据表变更 -- 作者: ruoyi -- 日期: 2025-01-15 -- ============================================= -- 1. 修改新系统 sys_task_payment 表,添加同步相关字段 -- ============================================= ALTER TABLE sys_task_payment ADD COLUMN pid BIGINT COMMENT '旧系统支付记录ID(PaidMoney.id)' AFTER update_time; ALTER TABLE sys_task_payment ADD COLUMN sync_status INT DEFAULT 0 COMMENT '同步状态:0未同步,1同步中,2同步成功,3同步失败' AFTER pid; ALTER TABLE sys_task_payment ADD COLUMN sync_time DATETIME COMMENT '同步时间' AFTER sync_status; -- 为pid字段添加索引,提高查询效率 CREATE INDEX idx_pid ON sys_task_payment(pid); -- 为sync_status字段添加索引,用于批量同步查询 CREATE INDEX idx_sync_status ON sys_task_payment(sync_status); -- ============================================= -- 说明: -- ============================================= -- 1. pid: 存储旧系统PaidMoney表的主键ID,用于双向关联 -- 2. sync_status: 同步状态标识 -- - 0: 未同步 - 新创建的支付记录,尚未同步到旧系统 -- - 1: 同步中 - 正在执行同步操作 -- - 2: 同步成功 - 已成功同步到旧系统 -- - 3: 同步失败 - 同步过程中发生错误 -- 3. sync_time: 记录最后一次同步操作的时间 -- -- 同步逻辑: -- - 新系统 -> 旧系统:新系统支付成功后,自动同步到旧系统PaidMoney表 -- - 旧系统 -> 新系统:定时任务从旧系统PaidMoney表同步最新支付记录到新系统 -- - 通过ServiceOrdIDDt和DispatchOrdIDDt字段关联任务 -- - 支付方式映射: -- 新系统(CASH/ON_ACCOUNT/WECHAT/ALIPAY) <-> 旧系统(1现金/6挂账/3微信/4支付宝)