在上一篇博客《淘东电商项目(54) -银联支付案例(同步与异步)》,主要分析了下银联支付案例的同步和异步的方式。本文开始讲解支付系统的数据表结构设计。
本文目录结构:
l____引言
l____ 支付系统的数据表结构设计
下面直接贴出表结构设计:
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='支付渠道 ';
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='支付交易 ';
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='支付交易日志表 ';