引言
在上一篇博客《淘东电商项目(54) -银联支付案例(同步与异步)》,主要分析了下银联支付案例的同步和异步的方式。本文开始讲解支付系统的数据表结构设计。
本文目录结构:
支付系统的数据表结构设计
下面直接贴出表结构设计:
1.支付渠道表:
sql:
CREATE TABLE `payment_channel` ( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `CHANNEL_NAME` varchar(32) NOT NULL COMMENT '渠道名称', `CHANNEL_ID` varchar(32) NOT NULL COMMENT '渠道ID', `MERCHANT_ID` varchar(32) NOT NULL COMMENT '商户id', `SYNC_URL` text NOT NULL COMMENT '同步回调URL', `ASYN_URL` text NOT NULL COMMENT '异步回调URL', `PUBLIC_KEY` text COMMENT '公钥', `PRIVATE_KEY` text COMMENT '私钥', `CHANNEL_STATE` int(11) DEFAULT '0' COMMENT '渠道状态 0开启1关闭', `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人', `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间', `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人', `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间', `CLASS_ADDRES` varchar(255) DEFAULT NULL, PRIMARY KEY (`ID`,`CHANNEL_ID`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='支付渠道 ';
2.支付记录表:
CREATE TABLE `payment_transaction` ( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `PAY_AMOUNT` int(11) NOT NULL COMMENT '支付金额', `PAYMENT_STATUS` int(11) NOT NULL DEFAULT '0' COMMENT '支付状态 0待支付1已经支付2支付超时3支付失败', `USER_ID` int(11) NOT NULL COMMENT '用户ID', `ORDER_ID` varchar(32) NOT NULL COMMENT '订单号码', `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人', `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间', `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人', `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间', `PARTYPAY_ID` varchar(32) DEFAULT NULL, `PAYMENT_ID` varchar(32) DEFAULT NULL COMMENT '订单号', `PRODUCT_NAME` varchar(100) DEFAULT NULL COMMENT '商品名称', PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COMMENT='支付交易 ';
3.支付记录日志表:
CREATE TABLE `payment_transaction_log` ( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `SYNCH_LOG` text COMMENT '同步回调日志', `ASYNC_LOG` text COMMENT '异步回调日志', `CHANNEL_ID` int(11) DEFAULT NULL COMMENT '支付渠道ID', `TRANSACTION_ID` int(11) DEFAULT NULL COMMENT '支付交易ID', `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人', `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间', `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新人', `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间', `untitled` varchar(32) DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='支付交易日志表 ';