-- 支付信息双向同步功能 - 数据表变更
-- 作者: 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支付宝)
