在动手设计任何一行代码之前,先问一个问题:这个系统,存在的意义是什么? 只有回答清楚这个问题,才能知道什么该放进来,什么该踢出去。
用户在手机上点击"立即购买"。
这背后发生了什么?
表面上看,是一个网络请求,触发了一段后端代码。但从商业角度看,发生的是一件更严肃的事:
两个陌生人,在一个平台的见证下,就「以某个价格交换某件商品」这件事,达成了约束性共识。
这就是「交易」。
它不是"用户下了个单"这么轻巧,它是一份合同。买家承诺付钱,卖家承诺发货,平台承诺居中保证——三方在这一刻,各自承担了义务,也获得了权利。
这份合同,在数字系统里的表达,叫做订单。
既然是合同,它就有自己的生命周期:

签订:创单。买家和卖家就交易内容达成共识,系统生成订单,库存被冻结预占,优惠券/红包等营销资产直接扣减。
激活:支付。买家付出资金,资金从买家流向平台托管。合同从"签了但不算数"变成"签了且有效"。
执行:发货与收货。卖家履行发货义务,买家获得商品,货物完成交割。
变更/撤销:退款逆向。合同执行过程中一方后悔,通过逆向流程把已经流动的资产逐一撤回。
结清:结算。交易完成,平台算清各方(商家/平台/买家)的实际资金往来,把货款打给商家。