会员预存款架构
一.支付中心
支付中心时序图

支付中心数据结构
支付账单(es_payment_bill)
| 字段名 | 类型 | 备注 | 是否索引 |
|---|---|---|---|
| bill_id | int(10) | 主键id | 是 |
| bill_sn | varchar(50) | 账单编号 | 是 |
| sub_sn | varchar(50) | 子业务编号 | 是 |
| return_trade_no | varchar(50) | 第三方平台返回交易号 | 是 |
| is_pay | int(1) | 是否已支付 | 否 |
| service_type | varchar(50) | 子业务类型 | 否 |
| payment_name | varchar(50) | 支付方式名称 | 否 |
| pay_config | longtext | 支付参数 | 否 |
| trade_price | decimal(20,2) | 交易金额 | 否 |
| payment_plugin_id | varchar(50) | 支付插件 | 否 |
支付中心业务模型

子业务模型图

二.充值
充值时序图
充值数据结构变更
新增会员钱包表(es_member_wallet)
后期可能会将会员积分等关于消费抵扣相关信息放入此表中
| 字段名 | 字段类型 | 备注 | 是否索引 |
|---|---|---|---|
| id | int(8) | 主键 | 是 |
| member_id | int(8) | 会员id | 是 |
| memner_name | varchar(200) | 会员名称 | 否 |
| pre_deposite | decimal(20,2) | 会员预存款,默认为0 | 否 |
| deposite_password | varchar(50) | 预存款密码,默认为-1 | 否 |
新增充值记录表(es_deposite_recharge)
| 字段名 | 字段类型 | 备注 | 是否索引 |
|---|---|---|---|
| id | int(10) | 主键 | 是 |
| recharge_sn | varchar(50) | 充值订单编号 | 是 |
| member_id | int(10) | 会员id | 否 |
| member_name | varchar(100) | 会员名称 | 是 |
| recharge_money | decimal(20,2) | 充值金额 | 否 |
| recharge_time | bigint(20) | 充值时间戳 | 否 |
| pay_time | bigint(20) | 支付时间 | 否 |
| recharge_way | varchar(20) | 充值方式,如:支付宝,微信 | 否 |
| payment_plugin_id | varchar(20) | 支付插件ID | 否 |
| pay_status | varchar(20) | 支付状态 | 否 |
新增预存款日志表(es_deposite_log)
| 字段名 | 字段类型 | 备注 | 是否索引 |
|---|---|---|---|
| id | int(10) | 主键 | 是 |
| member_id | int(10) | 会员id | 否 |
| member_name | varchar(100) | 会员名称 | 是 |
| money | decimal(20,2) | 消费金额 | 否 |
| time | bigint(20) | 消费时间 | 否 |
| detail | varchar(200) | 消费明细 | 否 |
充值模型图

三.消费
消费时序图

消费数据结构变更
交易表(es_trade)
新增预存款抵扣金额字段,记录订单使用的预存款金额
| 字段名 | 字段类型 | 备注 | 是否索引 |
|---|---|---|---|
| deposite_money | decimal(20,2) | 会员预存款 | 否 |
订单表(es_order)
新增预存款抵扣金额字段,记录订单使用的预存款金额
| 字段名 | 字段类型 | 备注 | 是否索引 |
|---|---|---|---|
| deposite_money | decimal(20,2) | 会员预存款 | 否 |