-- 支付宝与微信聚合订单码支付。 -- 聚合会话与实际第三方支付订单分表保存,避免改变已被多个调用方使用的 third_pay_order 契约。 -- 微信统一使用服务商平台公众号配置和各商户既有 sub_mchid,不新增逐商户公众号配置表。 CREATE TABLE `third_aggregate_pay_session` ( `id` bigint NOT NULL COMMENT '聚合会话主键', `aggregate_no` varchar(64) NOT NULL COMMENT '聚合支付会话唯一编号', `access_token_hash` char(64) NOT NULL COMMENT '收银URL随机访问令牌SHA-256摘要', `access_token_ciphertext` varchar(512) NOT NULL COMMENT '收银URL随机访问令牌Jasypt密文,仅用于幂等复用', `biz_type` varchar(32) NOT NULL COMMENT '支付业务类型编码,首版为YXFJ_PAY对应编码', `biz_id` varchar(128) NOT NULL COMMENT '调用方业务订单唯一标识', `user_id` bigint NOT NULL COMMENT '付款用户ID,匿名消费机订单为-1', `mch_id` bigint NOT NULL COMMENT '收款商户ID', `price` int NOT NULL COMMENT '应付金额,单位为人民币分', `status` varchar(32) NOT NULL COMMENT '聚合会话状态编码', `selected_platform` varchar(32) DEFAULT NULL COMMENT '首个有效扫码选定的支付平台编码', `pay_no` varchar(128) DEFAULT NULL COMMENT '绑定的third_pay_order.pay_no', `payer_identity_hash` char(64) DEFAULT NULL COMMENT '支付宝用户ID或微信服务商公众号sp_openid的SHA-256摘要', `expire_time` datetime NOT NULL COMMENT '聚合二维码与第三方子订单服务端失效时间', `resolved_time` datetime DEFAULT NULL COMMENT '会话进入成功、关闭、过期或创建失败终态的时间', `create_by` varchar(64) DEFAULT NULL COMMENT '创建人', `create_time` datetime NOT NULL COMMENT '创建时间', `update_by` varchar(64) DEFAULT NULL COMMENT '修改人', `update_time` datetime NOT NULL COMMENT '修改时间', `del_flag` char(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标记,0有效,1删除', `tenant_id` bigint NOT NULL COMMENT '租户ID', PRIMARY KEY (`id`), UNIQUE KEY `uk_third_aggregate_pay_no` (`tenant_id`, `aggregate_no`), UNIQUE KEY `uk_third_aggregate_access_token` (`tenant_id`, `access_token_hash`), UNIQUE KEY `uk_third_aggregate_child_pay_no` (`tenant_id`, `pay_no`), KEY `idx_third_aggregate_biz` (`tenant_id`, `biz_type`, `biz_id`, `create_time`), KEY `idx_third_aggregate_job` (`status`, `expire_time`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '支付宝与微信聚合订单码支付会话';