2023-06-16 07:11:37 +00:00
|
|
|
package gmodel
|
|
|
|
|
|
|
|
import (
|
2023-06-29 10:04:59 +00:00
|
|
|
"fusenapi/constants"
|
|
|
|
"time"
|
2023-06-16 07:11:37 +00:00
|
|
|
)
|
|
|
|
|
2023-09-15 09:58:45 +00:00
|
|
|
// TODO: 使用model的属性做你想做的
|
|
|
|
|
|
|
|
// 订单详情
|
|
|
|
type OrderDetail struct {
|
2023-09-19 05:56:59 +00:00
|
|
|
DeliveryAddress *OrderAddress `json:"delivery_address"` // 收货地址
|
|
|
|
OrderAmount OrderAmount `json:"order_amount"` // 订单金额
|
|
|
|
OrderInfo OrderInfo `json:"order_info"` // 订单信息
|
|
|
|
OrderProduct []OrderProduct `json:"order_product"` // 订单商品
|
|
|
|
PayStatus constants.OrderPayStatusCode `json:"pay_status"` // 支付状态
|
2023-09-21 11:01:48 +00:00
|
|
|
PayTimeout time.Duration `json:"pay_timeout"` // 支付状态
|
2023-09-15 09:58:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 收货地址
|
|
|
|
type OrderAddress struct {
|
2023-10-17 10:32:43 +00:00
|
|
|
Street string `json:"street"` // 详细地址
|
|
|
|
City string `json:"city"` // 城市
|
|
|
|
FirstName string `json:"first_name"` // 姓
|
|
|
|
LastName string `json:"last_name"` // 名
|
|
|
|
Mobile string `json:"mobile"` // 手机
|
|
|
|
State string `json:"state"` // 州
|
|
|
|
Suite string `json:"suite"` // 房号
|
|
|
|
ZipCode string `json:"zip_code"` // 邮编号码
|
2023-09-15 09:58:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 订单金额
|
|
|
|
type OrderAmount struct {
|
|
|
|
Deposit PayInfo `json:"deposit"` // 定金
|
|
|
|
RemainingBalance PayInfo `json:"remaining_balance"` // 尾款
|
|
|
|
Discount AmountInfo `json:"discount"` // 折扣
|
|
|
|
ShippingFee AmountInfo `json:"shipping_fee"` // 邮费
|
|
|
|
Tax AmountInfo `json:"tax"` // 税费
|
|
|
|
Subtotal AmountInfo `json:"subtotal"` // 商品总金额
|
|
|
|
Total AmountInfo `json:"total"` // 订单总金额
|
|
|
|
}
|
|
|
|
|
|
|
|
// 支付明细
|
|
|
|
type PayInfo struct {
|
|
|
|
Metadata map[string]interface{} `json:"metadata"` // 额外参数
|
|
|
|
PayAmount AmountInfo `json:"pay_amount"` // 金额明细
|
|
|
|
PayMethod string `json:"pay_method"` // 交易方式
|
2023-09-22 08:27:17 +00:00
|
|
|
PayTime *time.Time `json:"pay_time"` // 支付时间
|
2023-09-15 09:58:45 +00:00
|
|
|
Status PayStatus `json:"status"` // 当前状态
|
|
|
|
StatusLink []PayStatus `json:"status_link"` // 状态链路
|
|
|
|
TradeNo string `json:"trade_no"` // 支付交易号
|
|
|
|
}
|
|
|
|
|
|
|
|
// 金额明细
|
|
|
|
type AmountInfo struct {
|
2023-10-30 09:10:49 +00:00
|
|
|
Change AmountCurrency `json:"change"` // 变动金额
|
|
|
|
ChangeRemark string `json:"change_remark"` // 变动备注
|
|
|
|
Current AmountCurrency `json:"current"` // 当前金额
|
|
|
|
Initiate AmountCurrency `json:"initiate"` // 初始金额
|
|
|
|
Metadata map[string]interface{} `json:"metadata"` // 额外明细
|
2023-09-15 09:58:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 金额货币
|
|
|
|
type AmountCurrency struct {
|
2023-09-18 07:39:12 +00:00
|
|
|
ExchangeRate constants.ExchangeRateUnit `json:"exchange_rate"` // 换算汇率
|
|
|
|
CurrentCurrency string `json:"current_currency"` // 当前货币
|
|
|
|
CurrentAmount constants.AmountUnit `json:"current_amount"` // 当前金额
|
|
|
|
OriginalCurrency string `json:"original_currency"` // 原始货币
|
|
|
|
OriginalAmount constants.AmountUnit `json:"original_amount"` // 原始金额
|
2023-09-15 09:58:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 支付状态
|
|
|
|
type PayStatus struct {
|
|
|
|
Metadata map[string]interface{} `json:"metadata"` // 额外参数
|
|
|
|
StatusCode int64 `json:"status_code"` // 状态编码
|
|
|
|
StatusTitle string `json:"status_title"` // 状态名称
|
|
|
|
}
|
|
|
|
|
|
|
|
// 订单信息
|
|
|
|
type OrderInfo struct {
|
2023-10-07 05:33:40 +00:00
|
|
|
UserId int64 `json:"user_id"` // 物流类型
|
|
|
|
Ctime *time.Time `json:"ctime"` // 创建日期
|
|
|
|
DeliveryMethod int64 `json:"delivery_method"` // 物流类型
|
|
|
|
Metadata OrderMetadata `json:"metadata"` // 额外参数
|
|
|
|
OrderSn string `json:"order_sn"` // 订单编号
|
|
|
|
Status OrderStatus `json:"status"` // 当前状态
|
|
|
|
StatusLink []OrderStatus `json:"status_link"` // 状态链路
|
|
|
|
Utime *time.Time `json:"utime"` // 更新时间
|
2023-09-15 09:58:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 订单状态--用户
|
|
|
|
type OrderStatus struct {
|
|
|
|
Children []*OrderStatus `json:"children"` // 子状态,管理人员的处理状态, 用户不可见
|
2023-09-20 10:04:33 +00:00
|
|
|
Ctime *time.Time `json:"ctime"` // 创建时间
|
|
|
|
ExpectedTime *time.Time `json:"expected_time"` // 预计时间
|
2023-09-15 09:58:45 +00:00
|
|
|
Metadata map[string]interface{} `json:"metadata"` // 额外参数
|
|
|
|
StatusCode constants.OrderStatusCode `json:"status_code"` // 状态编码
|
|
|
|
StatusTitle string `json:"status_title"` // 状态名称
|
2023-09-20 10:04:33 +00:00
|
|
|
Utime *time.Time `json:"utime"` // 更新时间
|
2023-09-15 09:58:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 订单商品
|
|
|
|
type OrderProduct struct {
|
2023-09-27 09:23:58 +00:00
|
|
|
TotalPrice AmountInfo `json:"total_price"` // 商品总价
|
|
|
|
ItemPrice AmountInfo `json:"item_price"` // 商品单价
|
|
|
|
ExpectedDeliveryTime *time.Time `json:"expected_delivery_time"` // 预计到货时间
|
|
|
|
PurchaseQuantity PurchaseQuantity `json:"purchase_quantity"` // 购买数量
|
|
|
|
ProductId int64 `json:"product_id"` // 商品ID
|
|
|
|
ProductSn string `json:"product_sn"` // 商品编码
|
|
|
|
ProductName string `json:"product_name"` // 商品名称
|
|
|
|
ProductCover string `json:"product_cover"` // 商品封面
|
|
|
|
ProductCoverMetadata map[string]interface{} `json:"product_cover_metadata"` // 商品封面
|
|
|
|
ProductSnapshot interface{} `json:"product_snapshot"` // 商品快照
|
|
|
|
ShoppingCartSnapshot *FsShoppingCartData `json:"shopping_cart_snapshot"` // 购物车快照
|
|
|
|
|
|
|
|
DiyInformation *UserDiyInformation `json:"diy_information"`
|
|
|
|
SizeInfo *OrderProductSizeInfo `json:"size_info"`
|
|
|
|
FittingInfo *OrderProductFittingInfo `json:"fitting_info"`
|
|
|
|
IsHighlyCustomized int64 `json:"is_highly_customized"`
|
2023-10-07 05:33:40 +00:00
|
|
|
RenderImage string `json:"render_image"`
|
2023-10-07 09:31:24 +00:00
|
|
|
SelectColorIndex int64 `json:"select_color_index"`
|
2023-09-20 08:37:37 +00:00
|
|
|
}
|
2023-09-22 09:32:23 +00:00
|
|
|
type PurchaseQuantity struct {
|
|
|
|
Current interface{} `json:"current"`
|
|
|
|
Initiate interface{} `json:"initiate"`
|
|
|
|
}
|
2023-09-20 08:37:37 +00:00
|
|
|
|
|
|
|
type OrderProductSizeInfo struct {
|
|
|
|
SizeID int64 `json:"size_id"`
|
|
|
|
Capacity string `json:"capacity"`
|
|
|
|
Title OrderProductSizeInfoTitle `json:"title"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type OrderProductSizeInfoTitle struct {
|
|
|
|
Inch string `json:"inch"`
|
|
|
|
Cm string `json:"cm"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type OrderProductFittingInfo struct {
|
|
|
|
FittingID int64 `json:"fitting_id"` //配件ID
|
|
|
|
FittingName string `json:"fitting_name"` //配件名称
|
2023-09-20 07:07:12 +00:00
|
|
|
}
|
2023-09-27 09:23:58 +00:00
|
|
|
|
|
|
|
type ExpectedDelivery struct {
|
|
|
|
Current time.Time `json:"current"`
|
|
|
|
Initiate time.Time `json:"initiate"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type OrderProductInter struct {
|
2023-10-07 05:33:40 +00:00
|
|
|
CartId int64 `json:"cart_id"` // 购物车ID
|
2023-09-27 09:23:58 +00:00
|
|
|
TotalPrice AmountInfo `json:"total_price"` // 商品总价
|
|
|
|
ItemPrice AmountInfo `json:"item_price"` // 商品单价
|
|
|
|
PurchaseQuantity *PurchaseQuantity `json:"purchase_quantity"` // 购买数量
|
|
|
|
ProductId int64 `json:"product_id"` // 商品ID
|
|
|
|
ProductName string `json:"product_name"` // 商品名称
|
|
|
|
ProductCover string `json:"product_cover"` // 商品封面
|
|
|
|
ProductCoverMetadata map[string]interface{} `json:"product_cover_metadata"` // 商品封面
|
|
|
|
ProductSn string `json:"product_sn"` // 商品编码
|
|
|
|
DiyInformation *UserDiyInformation `json:"diy_information"`
|
|
|
|
SizeInfo *OrderProductSizeInfo `json:"size_info"`
|
|
|
|
FittingInfo *OrderProductFittingInfo `json:"fitting_info"`
|
|
|
|
IsHighlyCustomized int64 `json:"is_highly_customized"`
|
2023-10-07 05:33:40 +00:00
|
|
|
RenderImage string `json:"render_image"`
|
2023-10-10 09:25:51 +00:00
|
|
|
ExpectedDeliveryTime *ExpectedDelivery `json:"expected_delivery_time"` // 预计到货时间
|
|
|
|
ActualDeliveryTime *ExpectedDelivery `json:"actual_delivery_time"` // 实际到货时间
|
2023-10-07 05:33:40 +00:00
|
|
|
}
|
|
|
|
type OrderMetadata struct {
|
2023-10-10 09:25:51 +00:00
|
|
|
ExpectedDeliveryTime *ExpectedDelivery `json:"expected_delivery_time"` // 预计到货时间
|
|
|
|
ActualDeliveryTime *ExpectedDelivery `json:"actual_delivery_time"` // 实际到货时间
|
2023-09-27 09:23:58 +00:00
|
|
|
}
|