-- ============================================
-- 云印签支付订单表
-- ============================================
CREATE TABLE `yunyin_sign_pay_order` (
  `id` CHAR(36) NOT NULL COMMENT '主键ID（UUID）',
  `order_id` CHAR(36) NOT NULL COMMENT '订单ID（关联order表）',
  `user_id` CHAR(36) NOT NULL COMMENT '用户ID（用于查询该用户是否有未完成的签署）',
  `task_id` VARCHAR(100) NOT NULL COMMENT '任务ID/流程ID（flowId）',
  `participant_id` VARCHAR(100) NOT NULL COMMENT '参与者ID（签署方2的participantId）',
  `amount` DECIMAL(10,2) NOT NULL COMMENT '支付金额',
  `pay_type` TINYINT NOT NULL COMMENT '支付类型：0=微信支付，1=支付宝支付',
  `sign_status` TINYINT NOT NULL DEFAULT 0 COMMENT '签署状态：0=待签署，1=已签署，2=已取消',
  `pay_status` TINYINT NOT NULL DEFAULT 0 COMMENT '支付状态：0=待支付，1=已支付，2=已退款',
  `source_order_code` VARCHAR(100) NOT NULL COMMENT '源订单号（我们平台的订单号，用于关联）',
  `user_mobile` VARCHAR(20) DEFAULT NULL COMMENT '用户手机号（冗余字段，方便查询）',
  `user_name` VARCHAR(100) DEFAULT NULL COMMENT '用户姓名（冗余字段，方便查询）',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
  `del_state` TINYINT NOT NULL DEFAULT 0 COMMENT '删除状态：0=未删除，1=已删除',
  `version` BIGINT NOT NULL DEFAULT 0 COMMENT '版本号（乐观锁）',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_order_id` (`order_id`),
  UNIQUE KEY `uk_task_id` (`task_id`),
  KEY `idx_user_id` (`user_id`),
  KEY `idx_participant_id` (`participant_id`),
  KEY `idx_source_order_code` (`source_order_code`),
  KEY `idx_sign_status` (`sign_status`),
  KEY `idx_pay_status` (`pay_status`),
  KEY `idx_user_mobile` (`user_mobile`),
  KEY `idx_create_time` (`create_time`),
  KEY `idx_del_state` (`del_state`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='云印签支付订单表';
