一、背景
现有账户系统支持区分城市余额、充值余额和赠送余额,扣款时可加以区分。但是在给入驻商户结算时,有的商户不认可用户消费赠送的余额城市均摊这种算法。因为部分商户下半年入驻,上半年的赠送余额活动自己没有享受到引流服务,有些是商户自己做的活动,所以不应该做分摊。现有的账户体系无法支撑商户的需求,现在急需做一套新的体系来支撑业务的随时变更。
二、流程设计
2.1 开户流程
2.2 交易登记流程
三、数据库设计
3.1 主账户信息
字段名称 | 字段类型 | 是否可空 | 默认值 |
---|---|---|---|
主键 | bigint(20) unsigned | 否 | |
账户编号 | varchar(40) | 否 | |
用户编号 | varchar(40) | 否 | |
账户大类(用户、商户) | tinyint(4) | 否 | |
用户名称 | varchar(30) | 是 | |
客户编号 | varchar(40) | 否 | |
账户来源 | varchar(10) | 否 | |
账户状态 0 关闭 1 正常 2 冻结 | tinyint(4) | 否 | 1 |
是否允许提现 0 不允许 1 允许 | tinyint(1) | 否 | 1 |
是否允许为负 0 不允许 1 允许 | tinyint(1) | 否 | 0 |
是否用户商户合并使用 0 否 1 是 | tinyint(1) | 否 | 0 |
账户类型 0 虚拟 1 实体 | tinyint(4) | 否 | |
账户级别 | tinyint(1) | 否 | |
业务id | varchar(40) | 是 | |
应用类型 | varchar(20) | 是 | |
城市编码 | varchar(50) | 是 | |
商户id | varchar(40) | 是 | |
活动id | varchar(40) | 是 | |
账户余额 | decimal(20,4) | 否 | 0 |
备注 | varchar(100) | 是 | |
弹性域1 | varchar(100) | 是 | |
弹性域2 |