-- 微信支付订单表 CREATE TABLE `yifan_wx_pay_order` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `created_id` int(11) DEFAULT NULL COMMENT '创建人ID', `updated_id` int(11) DEFAULT NULL COMMENT '更新人ID', `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除(0否 1是)', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(0禁用 1启用)', `order_no` varchar(64) NOT NULL COMMENT '订单号', `out_trade_no` varchar(64) DEFAULT NULL COMMENT '商户订单号(微信支付用)', `transaction_id` varchar(64) DEFAULT NULL COMMENT '微信支付订单号', `user_id` int(11) NOT NULL COMMENT '用户ID', `openid` varchar(128) DEFAULT NULL COMMENT '用户openid', `pay_channel` varchar(32) NOT NULL DEFAULT 'wechat' COMMENT '支付渠道(wechat/alipay/balance)', `description` varchar(128) NOT NULL COMMENT '商品描述', `total_amount` decimal(10,2) NOT NULL COMMENT '订单金额(元)', `pay_amount` decimal(10,2) DEFAULT NULL COMMENT '实付金额(元)', `business_type` varchar(32) NOT NULL COMMENT '业务类型(naming_report等)', `business_id` int(11) DEFAULT NULL COMMENT '业务ID', `order_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '订单状态(0待支付 1已支付 2已取消 3已退款 4已关闭)', `trade_state` varchar(32) DEFAULT 'NOTPAY' COMMENT '支付状态(NOTPAY/SUCCESS/REFUND/CLOSED)', `trade_state_desc` varchar(256) DEFAULT NULL COMMENT '支付状态描述', `pay_time` datetime DEFAULT NULL COMMENT '支付时间', `expire_time` datetime DEFAULT NULL COMMENT '订单过期时间', `refund_amount` decimal(10,2) DEFAULT NULL COMMENT '退款金额(元)', `refund_time` datetime DEFAULT NULL COMMENT '退款时间', `remark` varchar(255) DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`), UNIQUE KEY `uk_order_no` (`order_no`) COMMENT '订单号唯一索引', KEY `idx_user_id` (`user_id`), KEY `idx_out_trade_no` (`out_trade_no`), KEY `idx_business` (`business_type`, `business_id`), KEY `idx_order_status` (`order_status`), KEY `idx_created_time` (`created_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='微信支付订单表';