价格配置,在用户服务过程中修改了应该怎么处理

产品会关联价格配置表,
假设用户下单服务中,管理员修改了价格或是误删了价格配置,结算应该怎么处理?

我想的是每笔订单存价格配置,但又感觉这个数据重复好多

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

引用站内教程L05中6.3内容 传送门

file

2个月前 评论
臭鼬 (楼主) 2个月前
讨论数量: 15

订单一旦生成,和订单相关的信息就已经锁定了,包括商品库存,商品价格等基本信息。

订单生成以后,进入待支付状态,支付订单使用的金额信息就是下单时生成的订单快照信息。同时,支付成功后,扣减的库存信息,也是快照信息中关联的库存信息。

试想一下,你在 12306 好不容易抢到一张票,结果到支付环节,弹窗告诉你,“对不起,涨钱了。”“不好意思,票没了。”你能忍么?

2个月前 评论

订单一旦生成,和订单相关的信息就已经锁定了,包括商品库存,商品价格等基本信息。

订单生成以后,进入待支付状态,支付订单使用的金额信息就是下单时生成的订单快照信息。同时,支付成功后,扣减的库存信息,也是快照信息中关联的库存信息。

试想一下,你在 12306 好不容易抢到一张票,结果到支付环节,弹窗告诉你,“对不起,涨钱了。”“不好意思,票没了。”你能忍么?

2个月前 评论

每笔订单,必然会记录当前的商品价格。商品加价降价是个很正常的商业行为。

2个月前 评论
臭鼬 (楼主) 2个月前

重复又怎么样呢,设计有时候还要考虑冗余,另外你还是订单业务,你是害怕订单太多了吗?那订单多你加不了配置吗?订单少那你又考虑啥呢。

订单下单过程中,管理员修改价格,如果你要考虑这个场景,应该是在下单前有一个询价接口,然后下单把这个价格也发送给后端,如果支付金额高于下单前接口,可以弹窗给用户。

如果你没有活动可以减少价格,那你可以把商品做成多版本,订单把这个版本号存起来,通过版本号去查询历史配置,不过作为一个开发,我们以后可以去拒绝这块的需求变化?

2个月前 评论
臭鼬 (楼主) 2个月前
hongfs (作者) 2个月前
臭鼬 (楼主) 2个月前
臭鼬 (楼主) 2个月前
陈先生

存一下快照是必须的。

2个月前 评论
臭鼬 (楼主) 2个月前
陈先生 (作者) 2个月前

价格虽然是配置的一个数组,但是你用户下单的时候应该会明确使用的某个价格,那不存在说在订单表需要存一个数组的说法啊, 比方说我下单的时候使用了优惠券 那我肯定会存一个 订单应付价格,优惠券抵扣金额,订单实付金额(应付-优惠)

所以你应该在下单的时候根据用户的角色,这个订单会有一个价格策略固定成一个实际使用的金额 只需要记录实付金额就行了噻 没必要把所有的价格配置都记录下来噻

2个月前 评论

做价格信息的冗余到订单里,退款只和冗余信息对比

2个月前 评论

引用站内教程L05中6.3内容 传送门

file

2个月前 评论
臭鼬 (楼主) 2个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!