-- 接入支付平台的应用信息表 CREATE TABLE webchat_payment.`web_chat_app` ( `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', `name` char(20) NOT NULL COMMENT '应用名称 ', `logo` varchar(300) NOT NULL COMMENT '应用Logo', `description` varchar(200) NOT NULL COMMENT '应用描述', `admin` char(100) NOT NULL COMMENT '创建人/管理员', `status` int(4) NOT NULL COMMENT '状态', `access_key` char(64) NOT NULL COMMENT 'access key 应用访问凭证', `secret_hash_key` char(100) NOT NULL COMMENT 'secret key hash值 应用访问凭证秘钥', `CREATE_BY` char(100) DEFAULT NULL COMMENT '创建人', `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UPDATE_BY` char(100) DEFAULT NULL COMMENT '更新人', `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间', `VERSION` int DEFAULT '0' COMMENT '版本', PRIMARY KEY (`ID`), UNIQUE KEY `INDEX_ACCESS_SECRET_KEY` (`ACCESS_KEY`, `SECRET_HASH_KEY`), KEY `INDEX_STATUS` (`STATUS`), KEY `INDEX_ADMIN` (`admin`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='接入支付平台的应用信息表'; -- 支付订单表 CREATE TABLE webchat_payment.`web_chat_payment_order`( `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', `order_id` char(64) NOT NULL COMMENT '交易订单ID', `trans_id` char(64) NOT NULL COMMENT '交易订单对应分布式事务ID,用于订单回滚,包括订单明细的回滚', `status` int(4) NOT NULL COMMENT '订单状态', `app_id` bigint NOT NULL COMMENT '订单接入方(应用)', `event_type` int(4) NOT NULL COMMENT '订单事件:出行、红包、餐饮……', `trans_type` int(4) NOT NULL COMMENT '流转类型: 1:收入、-1:支出', `amount` DECIMAL(10,2) NOT NULL COMMENT '订单总金额', `source_account` char(64) NOT NULL COMMENT '交易订单发起账户', `target_account` char(64) NOT NULL COMMENT '交易订单接收账户', `description` varchar(100) DEFAULT NULL COMMENT '订单描述', `expire_date` datetime DEFAULT NULL COMMENT '订单过期时间', `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间', `VERSION` int DEFAULT '0' COMMENT '版本', PRIMARY KEY (`ID`), UNIQUE KEY `INDEX_ORDER_ID` (`order_id`), UNIQUE KEY `INDEX_TRANS_ID` (`trans_id`), KEY `INDEX_STATUS` (`status`), KEY `INDEX_SOURCE_ACCOUNT` (`source_account`), KEY `INDEX_TARGET_ACCOUNT` (`target_account`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='支付订单表'; -- 支付交易明细表 CREATE TABLE webchat_payment.`web_chat_payment_order_detail`( `ID` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', `order_id` char(64) NOT NULL COMMENT '关联交易订单ID', `payment_id` char(64) NOT NULL COMMENT '交易ID', `source_account` char(64) NOT NULL COMMENT '交易订单发起账户,一定是跟order中的发起人是同一个', `target_account` char(64) NOT NULL COMMENT '交易订单目标账户,人/业务账户', `amount` DECIMAL(10,2) NOT NULL COMMENT '交易总金额,收入类交易金额为正数、支出类为负数', `status` int(4) NOT NULL COMMENT '交易明细状态', `CREATE_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `UPDATE_DATE` datetime DEFAULT NULL COMMENT '更新时间', `VERSION` int DEFAULT '0' COMMENT '版本', PRIMARY KEY (`ID`), KEY `INDEX_ORDER_ID` (`order_id`), KEY `INDEX_STATUS` (`status`), KEY `INDEX_SOURCE_ACCOUNT` (`source_account`), KEY `INDEX_TARGET_ACCOUNT` (`target_account`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='支付订单明细表';