【更新预告】EMSHOP订单提交前将支持插件拦截与校验钩子

图片[1]-【更新预告】EMSHOP订单提交前将支持插件拦截与校验钩子

用户点击“立即购买”,订单数据涌向服务器。但如果此时卡密刚好售罄、选号商品被人抢先锁定、人工发货没填地址,订单照样生成,然后支付、然后卡在发货环节、然后售后纠纷。

在EMSHOP的底层重构中,订单提交前将触发插件拦截钩子:goods_type_{type}_order_submit

核心系统在创建订单之前,先将订单数据(商品、规格、数量、用户填写的额外字段)传递给插件。插件执行自己的校验逻辑:

  • 虚拟卡密插件:检查对应规格的卡密库存是否足够。
  • 人工发货插件:检查收货地址是否填写完整。
  • 选号商品插件:检查用户选中的号码是否仍处于可用状态。

如果校验不通过,插件返回错误信息(如“库存不足,仅剩3件”)。核心系统收到后,终止订单创建,将错误信息原样返回给前端页面。用户看到提示后可以调整重试。整个过程订单不会入库,不会产生脏数据。

很小的功能,但让下单流程从“先上车后补票”变成了“买票才能上车”。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容