平台代收代付数据库表的设计
1.费用项目通过cost_code来唯一标识,根据费用编码来锁定费用,不使用在数据表中比如费用表,每增加一个费用而增加一个费用字段的方式,这样会导致不灵活,不容易扩展。 通过费用编码的方式,可以将费用表的字段的方式纵向的拉平为多条费用的横向方式,便于扩展,系统每增加一个费用项目,使计费更加清晰。 2.费用按大类可以分为:费用,罚金,补贴。 3.按费用的收入和支出的方向,确定费用是给谁,从谁那边扣除等,方便订单的费用结算。 4.表如下: 1.买方费用表 2.卖方费用表 3.买方罚金表,比如违约金,取消订单等 4.卖方罚金表 5.买方补贴表,比如平台的优惠券 6.卖方补贴表
5.关键字段设计
代码语言:javascript复制`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.举例
代码语言:javascript复制cost_target_code cost_target_desc cost_source_code cost_source_desc amount
1 买方 2 卖方 100
3 平台 2 卖方 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元 保留不变