[设计问题] 关于电商结算系统的

2024-08-08 09:58:31 +08:00
 clbigdata
前几天面试,我把公司目前的电商结算流程说了下,因为目前我这接手的项目当中,在整个结算流程里边,扣减资产的过程中,例如减积分,优惠券核销等等流程,都是通过结算模板进行编排的,整个的技术底层是结合了流程引擎通过前后状态控制是否进行下一个节点的进行,或者会滚的,全部流程中只是对结算流程进行了存储,在后台的话其实就是一个大 json ,里边包含了当前带执行节点,以及出错要回滚的方法等。 面试官说我这个不行,不知道有没有啥更好的设计,他说这个计算流程要生成一个结算 id 落库存储。
1951 次点击
所在节点    Java
7 条回复
chutianyao
2024-08-08 10:09:39 +08:00
"结算 id 落库存储"是把整个 json 落库吗, 估计是为了异常情况补偿、业财对帐等场景使用吧, 实际业务意义不大.
我们目前也是节点串行执行,哪一个节点失败,就从该节点开始进行回滚
clbigdata
2024-08-08 10:15:24 +08:00
@chutianyao 那个面试官说的意思是第一次结算失败了,把这个结算流程存一下,第二次又失败了,再存一下,我感觉这样不合理
chutianyao
2024-08-08 10:21:10 +08:00
@clbigdata 当然不合理
失败就失败了,赶紧查问题解决,存下来有啥用. 他存下来难道想自动重试不成
sentinelK
2024-08-08 10:23:11 +08:00
“不知道有没有啥更好的设计”
这要看你的需求而定,空谈没有意义。

你非要掰扯商飞 C919 和洛克希德马丁 F22 哪个设计好,这不是抬杠么。
你说 F22 载人少,他说 C919 挂载导弹少。
onll42y
2024-08-08 15:44:23 +08:00
“生成结算 id 落库”是为了做幂等吧?防止一个订单多次提交
9pr7im4IjQ9u0806
2024-08-19 15:11:30 +08:00
如果只有“这个方案不行”这么一句话,这个面试官就是扯淡,丢他老母就行了,下一家
tomatocici2333
2024-08-28 15:54:39 +08:00
= =没有业务场景就说不行,面试官有点拉

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1063396

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX