Skip to content

订单、订单明细与核销码模型

概述

该模型用于统一承载积分商品和周边商品的交易、履约与核销流程。

Order(订单)

订单主表描述支付、履约、退款等核心状态。

字段类型必填默认值说明
orderIdstring-订单 ID
userIdstring-用户 ID
channelenummerch订单渠道
deliveryModeenumpickup履约方式
orderStatusenumpending_payment订单履约主状态
refundStatusenumnone退款过程状态
refundRequestedAtdatetimenull退款受理时间
refundFinishedAtdatetimenull退款完成时间
payTypeenumwechat支付类型
itemCountint1商品件数,固定为 1
pointsAmountint0消耗积分
pointsFrozenAmountint0已冻结积分
cashAmountdecimal0支付现金
freightAmountdecimal0运费
goodsAmountdecimal0商品金额
addressIdstringnull收货地址 ID
storeIdstringnull自提门店 ID
writeoffCodeIdstringnull核销码 ID
cancelReasonstringnull取消原因
createdAtdatetime当前时间创建时间
paidAtdatetimenull支付时间
finishedAtdatetimenull完成时间

订单主状态 orderStatus

  • pending_payment:待支付
  • pending_writeoff:待核销
  • pending_delivery:待发货
  • shipped:已发货
  • completed:已完成
  • refunded:已退款
  • cancelled:已取消

退款状态 refundStatus

  • none:无退款
  • processing:退款中
  • succeeded:退款成功
  • rejected:退款被拒绝

支付类型 payType

  • wechat:微信支付
  • points:纯积分支付
  • mix:混合支付

OrderItem(订单明细)

保存商品快照,避免商品后续变更影响历史订单展示和核算。

字段类型必填默认值说明
orderItemIdstring-订单明细 ID
orderIdstring-订单 ID
goodsIdstring-商品 ID
goodsChannelenummerch商品渠道
goodsTypeenumphysical商品类型
quantityint1购买数量,固定为 1
goodsTitleSnapshotstring-商品标题快照
goodsImageSnapshotstring-商品主图快照
highlightSnapshotstringnull商品卖点快照
pointsPriceSnapshotint0下单时积分价快照
cashPriceSnapshotdecimal0下单时现金价快照
freightSnapshotdecimal0下单时运费快照
deliveryModeSnapshotenumpickup下单时履约方式快照
storeNameSnapshotstringnull自提门店快照
createdAtdatetime当前时间创建时间

WriteoffCode(核销码)

用于自提/核销类订单的唯一核销凭证。

字段类型必填默认值说明
codeIdstring-核销码 ID
orderIdstring-关联订单 ID
codeNostring-编号
qrTokenstring-动态二维码 token
expireAtdatetimenull当前 token 过期时间
statusenumunused核销状态

核销状态

  • unused:未使用
  • used:已使用
  • expired:已过期

设计要点

  • Order 负责交易状态,OrderItem 负责交易快照,WriteoffCode 负责线下核销凭证。
  • itemCountquantity 当前约束为固定 1,说明模型按单品单单设计。
  • 自提订单通常依赖 storeIdwriteoffCodeId;邮寄订单通常依赖 addressId
  • refundStatusorderStatus 分离,便于表达退款处理中但主单尚未最终关闭的状态。
  • 涉及积分支付时,建议与 PointsFlow 联动记录冻结、扣减、退款与解冻。

谷子科技知识库平台 - 多格式摄入、受控编译、岗位隔离问答