package gmodel import ( "fusenapi/constants" "time" ) // TODO: 使用model的属性做你想做的 type NewFsOrder struct { Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // 订单ID UserId *int64 `gorm:"index;default:0;" json:"user_id"` // 用户ID DeliveryMethod *int64 `gorm:"index;default:0;" json:"delivery_method"` // 物流类型 OrderSn *string `gorm:"index;default:'';" json:"order_sn"` // OrderSource *string `gorm:"default:'';" json:"order_source"` // Status *int64 `gorm:"index;default:0;" json:"status"` // 订单状态 PayStatus *int64 `gorm:"default:0;" json:"pay_status"` // 支付状态 Metadata *OrderDetail `gorm:"metadata,type:json" json:"metadata"` // Ctime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ctime"` // Utime *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"utime"` // IsDel *int64 `gorm:"default:0;" json:"is_del"` // 是否删除:0=否,1=是 } // 订单详情 type OrderDetail struct { 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"` // 支付状态 } // 收货地址 type OrderAddress struct { Address string `json:"address"` // 详细地址 Mobile string `json:"mobile"` // 手机 Name string `json:"name"` // 姓名 } // 订单金额 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"` // 交易方式 PayTime time.Time `json:"pay_time"` // 支付时间 Status PayStatus `json:"status"` // 当前状态 StatusLink []PayStatus `json:"status_link"` // 状态链路 TradeNo string `json:"trade_no"` // 支付交易号 } // 金额明细 type AmountInfo struct { Change AmountCurrency `json:"change,omitempty"` // 变动金额 ChangeRemark string `json:"change_remark,omitempty"` // 变动备注 Current AmountCurrency `json:"current"` // 当前金额 Initiate AmountCurrency `json:"initiate"` // 初始金额 Metadata map[string]interface{} `json:"metadata"` // 额外明细 } // 金额货币 type AmountCurrency struct { 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"` // 原始金额 } // 支付状态 type PayStatus struct { Metadata map[string]interface{} `json:"metadata"` // 额外参数 StatusCode int64 `json:"status_code"` // 状态编码 StatusTitle string `json:"status_title"` // 状态名称 } // 订单信息 type OrderInfo struct { Ctime time.Time `json:"ctime"` // 创建日期 DeliveryMethod int64 `json:"delivery_method"` // 物流类型 Metadata map[string]interface{} `json:"metadata"` // 额外参数 OrderSn string `json:"order_sn"` // 订单编号 Status OrderStatus `json:"status"` // 当前状态 StatusLink []OrderStatus `json:"status_link"` // 状态链路 Utime time.Time `json:"utime"` // 更新时间 } // 订单状态--用户 type OrderStatus struct { Children []*OrderStatus `json:"children"` // 子状态,管理人员的处理状态, 用户不可见 Ctime time.Time `json:"ctime"` // 创建时间 ExpectedTime time.Time `json:"expected_time"` // 预计时间 Metadata map[string]interface{} `json:"metadata"` // 额外参数 StatusCode constants.OrderStatusCode `json:"status_code"` // 状态编码 StatusTitle string `json:"status_title"` // 状态名称 Utime time.Time `json:"utime"` // 更新时间 } // 订单商品 type OrderProduct struct { TotalPrice AmountInfo `json:"amount"` // 商品总价 ExpectedDeliveryTime time.Time `json:"expected_delivery_time"` // 预计到货时间 PurchaseQuantity int64 `json:"purchase_quantity"` // 购买数量 ProductID int64 `json:"product_id"` // 商品ID ProductName string `json:"product_name"` // 商品名称 ItemPrice AmountInfo `json:"product_price"` // 商品单价 ProductSnapshot map[string]interface{} `json:"product_snapshot"` // 商品快照 ShoppingCartSnapshot *FsShoppingCart `json:"shopping_cart_snapshot"` // 购物车快照 DiyInformation *UserDiyInformation `json:"diy_information"` FittingInfo *FittingInfo `json:"fitting_info"` ProductCover string `json:"product_cover"` // 商品封面 ProductCoverMetadata map[string]interface{} `json:"product_cover_metadata"` // 商品封面 ProductSn string `json:"product_sn"` // 商品编码 SizeInfo *SizeInfo `json:"size_info"` StepNum []int `json:"step_num"` // 阶梯数量 }