Files
qitongxue-api/internal/model/entity/entity_member_orders.go
2026-09-17 17:38:45 +08:00

34 lines
1.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package entity
import "github.com/gogf/gf/v2/os/gtime"
// MemberOrders 订单(一笔微信虚拟支付道具直购)。
// 发货、对账一律以 WxOrderId(平台单号)为准,OutTradeNo 只是商家侧业务单号。
//
// 同一张表承载两类商品,靠 OrderType 区分:
// - OrderTypeMember(1):会员套餐。发货 = 延长 users.level_expire_at(用到 LevelKey/DurationDays)
// - OrderTypeQuota(2) :次数包。 发货 = 增加 user_tool_quota 余额(用到 ToolKey/Times/DurationDays 作为有效期天数)
type MemberOrders struct {
Id int64 `json:"id"`
OutTradeNo string `json:"out_trade_no"` // 业务单号,唯一,8-32 位且不能以下划线开头
WxOrderId string `json:"wx_order_id"` // 平台单号,发货幂等去重以此为准
UserId int64 `json:"user_id"`
Openid string `json:"openid"` // 支付时使用的 openid,查单需要
OrderType int `json:"order_type"`
PlanKey string `json:"plan_key"`
PackKey string `json:"pack_key"` // 次数包档位(OrderType=2)
ToolKey string `json:"tool_key"` // 次数包绑定的工具(OrderType=2)
Times int `json:"times"` // 次数包的次数(OrderType=2)
ProductId string `json:"product_id"`
PriceCents int64 `json:"price_cents"`
LevelKey string `json:"level_key"` // 下单时套餐对应的等级(快照)
DurationDays int `json:"duration_days"` // 下单时套餐天数 / 次数包有效期天数(快照)
Status int `json:"status"`
PayChannel string `json:"pay_channel"`
Attach string `json:"attach"` // 透传数据,发货时原样回传
PaidAt *gtime.Time `json:"paid_at"`
DeliveredAt *gtime.Time `json:"delivered_at"`
CreatedAt *gtime.Time `json:"created_at"`
UpdatedAt *gtime.Time `json:"updated_at"`
}