平台代收代付数据库表的设计

发布时间 2023-12-20 23:03:43作者: oktokeep

平台代收代付数据库表的设计

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元 保留不变