fusenapi/model/gmodel/fs_order_logic.go
2023-09-15 17:58:45 +08:00

190 lines
8.8 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 {
ExchangeRate string `json:"exchange_rate"` // 换算汇率
Change constants.AmountUnit `json:"change,omitempty"` // 变动金额
ChangeRemark string `json:"change_remark,omitempty"` // 变动备注状态编码
Currency string `json:"currency"` // 货币
Current constants.AmountUnit `json:"current"` // 当前金额
Initiate constants.AmountUnit `json:"initiate"` // 初始金额
Metadata map[string]interface{} `json:"metadata"` // 额外明细
}
// 金额货币
type AmountCurrency struct {
CurrentAmount constants.AmountUnit `json:"current_amount"` // 当前金额
CurrentCurrency string `json:"current_currency"` // 当前货币
ExchangeRate string `json:"exchange_rate"` // 换算汇率
OriginalAmount constants.AmountUnit `json:"original_amount"` // 原始金额
OriginalCurrency string `json:"original_currency"` // 原始货币
}
// 支付状态
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 AmountCurrency `json:"amount"` // 商品总价
ExpectedDeliveryTime string `json:"expected_delivery_time"` // 预计到货时间
Number int64 `json:"number"` // 商品数量
ProductID string `json:"product_id"` // 商品ID
ProductLogo string `json:"product_logo"` // 商品logo
ProductLogoResource *Resource `json:"product_logo_resource"` // 商品封面--资源详情
ProductName string `json:"product_name"` // 商品名称
ProductPrice AmountCurrency `json:"product_price"` // 商品单价
ProductSnapshot map[string]interface{} `json:"product_snapshot"` // 商品快照
ShoppingCartSnapshot *ShoppingCartSnapshot `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"` // 资源地址
}
// 购物车
type ShoppingCartSnapshot struct {
Ctime string `json:"ctime"` // 创建时间
FittingID int64 `json:"fitting_id"` // 配件id
ID int64 `json:"id"` // 购物车ID
IsHighlyCustomized int64 `json:"is_highly_customized"` // 是否高度定制 0非 1是针对客人高度定制只能后台增加如购物车
ModelID int64 `json:"model_id"` // 模型id
ProductID int64 `json:"product_id"` // 产品id
PurchaseQuantity int64 `json:"purchase_quantity"` // 购买数量
SizeID int64 `json:"size_id"` // 尺寸id
Snapshot Snapshot `json:"snapshot"` // 购物车快照数据
TemplateID int64 `json:"template_id"` // 模板id
UserID int64 `json:"user_id"` // 用户id
Utime string `json:"utime"` // 更新时间
}
// 购物车快照
type Snapshot struct {
CombineImage string `json:"combine_image"` // 刀版图地址
FittingInfo FittingInfo `json:"fitting_info"`
Logo string `json:"logo"` // logo地址
ModelInfo ModelInfo `json:"model_info"`
RenderImage string `json:"render_image"` // 模板数据
SizeInfo SizeInfo `json:"size_info"`
TemplateInfo TemplateInfo `json:"template_info"`
UserDiyInformation UserDiyInformation `json:"user_diy_information"`
}
// 配件信息
type FittingInfo struct {
FittingJSON string `json:"fitting_json"`
}
// 模型数据
type ModelInfo struct {
ModelJSON string `json:"model_json"`
}
// 尺寸信息
type SizeInfo struct {
CM string `json:"cm"`
Inch string `json:"inch"`
}
// 模板数据
type TemplateInfo struct {
TemplateJSON string `json:"template_json"`
TemplateTag string `json:"template_tag"`
}
// DIY数据
type UserDiyInformation struct {
Address string `json:"address"` // 地址
Phone string `json:"phone"` // 电话
Qrcode string `json:"qrcode"` // 二维码
Slogan string `json:"slogan"` // slogan
Website string `json:"website"` // 网站
}