一个完善的订单系统包含创建订单->付款->售后->退款
其中我们需要创建的表有三张
- 订单表
- 售后表
- 退款表
本次设计不包含多商户的形式所以不包含”合单类型”的操作,考虑到后期扩展和数据分离的问题,部分操作略微复杂
订单业务
存储部分
所以project应该为array类型用于存储商品的数量,所以大概返回的JSON格式大概就是下面的形式
{
"orderNo":"PS202503242020320",
"project":[
{
"id":1,
"name":"玩具",
"price":100,
"quantity":10
},
{
"id":2,
"name":"水果",
"price":200,
"quantity":20
}
],
"amount":3000
}
售后业务
售后业务应该脱离订单业务使其仅通过orderNo进行关联,售后应该由用户发起,在后台进行审核操作
{
"afterNo":"AF202503242993995923",
"orderNo":"PS202503242993995923",
"status":"待处理/退款中/换货中/已拒绝",
"type":"退款/退货/换货"
}
如果是进行退款流程->将订单状态变更为退款中,然后使用一个回调接收退款状态
退款业务
使用afterNo作为退款单号,对orderNo进行退款操作