给客户做一个拼团程序,
有一个订单状态(order_status),一般情况有,
1,待付款
2,待收货
3,已完成
4,已关闭
正常情况,拼团失败,订单都变成已关闭状态(4)。因为拼团失败,意味着要全部退款,所以是取消订单,没毛病。
客户要求,拼团失败了,订单取消了,用户在已完成中,也看到这笔订单,是已完成,而不是已关闭。
那这样,查已完成的订单,显示不全了,缺了已关闭的订单。
用户在已完成中,既能看到 已完成的订单,也能看到已关闭的订单。
这怎么设计呢?感觉有冲突啊,已完毕订单,按理说就是已完毕订单,出现已取消订单,就是逻辑有问题。
明明 1+1 = 2,非要 1+2 也可以 = 3。
现在比较纠结,。
已关闭,已完成这两种状态,只是在用户端查询时的区别,至于数据库中,仍然可以使用同一个字段来维护,举个栗子
已完成:
status in ('已完成', '已关闭(取消)')
已关闭:
status = '已关闭(正常)'