平台代收代付数据库表的设计
1.费用项目通过cost_code来唯一标识,根据费用编码来锁定费用,不使用在数据表中比如费用表,每增加一个费用而增加一个费用字段的方式,这样会导致不灵活,不容易扩展。
通过费用编码的方式,可以将费用表的字段的方式纵向的拉平为多条费用的横向方式,便于扩展,系统每增加一个费用项目,使计费更加清晰。
2.费用按大类可以分为:费用,罚金,补贴。
3.按费用的收入和支出的方向,确定费用是给谁,从谁那边扣除等,方便订单的费用结算。
4.表如下:
1.买方费用表
2.卖方费用表
3.买方罚金表,比如违约金,取消订单等
4.卖方罚金表
5.买方补贴表,比如平台的优惠券
6.卖方补贴表
5.关键字段设计
`cost_target_code` varchar(16) DEFAULT NULL COMMENT '目标编码(卖方/买方/平台)1-买方,2-卖方,3-平台', `cost_target_desc` varchar(32) DEFAULT NULL COMMENT '目标描述', `cost_source_code` varchar(16) DEFAULT NULL COMMENT '来源编码(卖方/买方/平台)1-买方,2-卖方,3-平台', `cost_source_desc` varchar(200) DEFAULT NULL COMMENT '来源描述', `amount` int(11) DEFAULT '0' COMMENT '金额', `cost_code` varchar(16) DEFAULT NULL COMMENT '费用编码', `cost_name` varchar(32) DEFAULT NULL COMMENT '费用名称', `cost_type` tinyint(4) DEFAULT NULL COMMENT '费用大类类型(可选)', `cost_type_desc` varchar(1000) DEFAULT NULL COMMENT '费用大类类型(可选)类型描述',
6.举例
cost_target_code cost_target_desc cost_source_code cost_source_desc amount 1 买方 2 卖方 100 1 买方 3 平台 200 2 卖方 1 买方 300 3 平台 1 买方 400
以上逻辑:
1: 卖方给买方 100元
2:卖方给平台 200元
3: 买方给卖方 300元
4: 买方给平台 400元
代收代付的逻辑:
1: 卖方给买方 100元
3: 买方给卖方 300元
如果将需求逻辑调整为:某一业务场景卖方不给罚金也不扣款罚金,由平台来处理。(逻辑上:由平台来代替卖方,收入和支出。)
1: 卖方给买方 100元 》》 平台给买方 100元
2:卖方给平台 200元 没有记录
3: 买方给卖方 300元 》》 买方给平台 300元
4: 买方给平台 400元 保留不变