fusenapi/model/gmodel/fs_order_logic.go
2023-09-18 15:39:12 +08:00

129 lines
6.4 KiB
Go
Raw 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 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"` // 订单状态
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"` // 订单商品
}
// 收货地址
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 string `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 string `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 string `json:"utime"` // 更新时间
}
// 订单状态--用户
type OrderStatus struct {
Children []*OrderStatus `json:"children"` // 子状态,管理人员的处理状态, 用户不可见
Ctime string `json:"ctime"` // 创建时间
ExpectedTime string `json:"expected_time"` // 预计时间
Metadata map[string]interface{} `json:"metadata"` // 额外参数
StatusCode constants.OrderStatusCode `json:"status_code"` // 状态编码
StatusTitle string `json:"status_title"` // 状态名称
Utime string `json:"utime"` // 更新时间
}
// 订单商品
type OrderProduct struct {
Amount AmountInfo `json:"amount"` // 商品总价
ExpectedDeliveryTime string `json:"expected_delivery_time"` // 预计到货时间
Number int64 `json:"number"` // 商品数量
ProductID int64 `json:"product_id"` // 商品ID
ProductLogo string `json:"product_logo"` // 商品logo
ProductLogoResource *Resource `json:"product_logo_resource"` // 商品封面--资源详情
ProductName string `json:"product_name"` // 商品名称
ProductPrice AmountInfo `json:"product_price"` // 商品单价
ProductSnapshot map[string]interface{} `json:"product_snapshot"` // 商品快照
ShoppingCartSnapshot *FsShoppingCart `json:"shopping_cart_snapshot"` // 购物车快照
Unit string `json:"unit"` // 商品单位
}
// 资源详情
type Resource struct {
Metadata map[string]interface{} `json:"metadata"` // 资源额外
ResourceID string `json:"resource_id"` // 资源ID
ResourceType string `json:"resource_type"` // 资源类型
ResourceURL string `json:"resource_url"` // 资源地址
}