package dto // ======================================== // D1 客户端创建订单 // ======================================== // ClientCreateOrderRequest D1 客户端创建订单请求 type ClientCreateOrderRequest struct { Identifier string `json:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"` PackageIDs []uint `json:"package_ids" validate:"required,min=1,dive,gt=0" required:"true" description:"套餐ID列表"` AppType string `json:"app_type" validate:"required,oneof=official_account miniapp" required:"true" description:"应用类型 (official_account:公众号, miniapp:小程序)"` } // ClientCreateOrderResponse D1 客户端创建订单响应 type ClientCreateOrderResponse struct { OrderType string `json:"order_type" description:"订单类型 (package:套餐订单, recharge:充值订单)"` Order *ClientOrderInfo `json:"order,omitempty" description:"套餐订单信息"` Recharge *ClientRechargeInfo `json:"recharge,omitempty" description:"充值订单信息"` PayConfig *ClientPayConfig `json:"pay_config" description:"支付配置"` LinkedPackageInfo *LinkedPackageInfo `json:"linked_package_info,omitempty" description:"关联套餐信息"` } // ClientOrderInfo D1 套餐订单信息 type ClientOrderInfo struct { OrderID uint `json:"order_id" description:"订单ID"` OrderNo string `json:"order_no" description:"订单号"` TotalAmount int64 `json:"total_amount" description:"订单总金额(分)"` PaymentStatus int `json:"payment_status" description:"支付状态 (0:待支付, 1:已支付, 2:已取消)"` CreatedAt string `json:"created_at" description:"创建时间"` } // ClientRechargeInfo D1 充值订单信息 type ClientRechargeInfo struct { RechargeID uint `json:"recharge_id" description:"充值ID"` RechargeNo string `json:"recharge_no" description:"充值单号"` Amount int64 `json:"amount" description:"充值金额(分)"` Status int `json:"status" description:"状态 (0:待支付, 1:已支付, 2:已关闭)"` AutoPurchaseStatus string `json:"auto_purchase_status" description:"自动购包状态"` } // ClientPayConfig D1 支付配置 type ClientPayConfig struct { AppID string `json:"app_id" description:"应用ID"` Timestamp string `json:"timestamp" description:"时间戳"` NonceStr string `json:"nonce_str" description:"随机字符串"` PackageVal string `json:"package" description:"预支付参数"` SignType string `json:"sign_type" description:"签名类型"` PaySign string `json:"pay_sign" description:"支付签名"` } // LinkedPackageInfo D1 关联套餐信息 type LinkedPackageInfo struct { PackageNames []string `json:"package_names" description:"套餐名称列表"` TotalPackageAmount int64 `json:"total_package_amount" description:"套餐总金额(分)"` ForceRechargeAmount int64 `json:"force_recharge_amount" description:"强制充值金额(分)"` WalletCredit int64 `json:"wallet_credit" description:"钱包抵扣金额(分)"` } // ======================================== // D2 客户端订单列表 // ======================================== // ClientOrderListRequest D2 客户端订单列表请求 type ClientOrderListRequest struct { Identifier string `json:"identifier" query:"identifier" validate:"required,min=1,max=50" required:"true" minLength:"1" maxLength:"50" description:"资产标识符(SN/IMEI/虚拟号/ICCID/MSISDN)"` PaymentStatus *int `json:"payment_status" query:"payment_status" validate:"omitempty,min=0,max=2" minimum:"0" maximum:"2" description:"支付状态 (0:待支付, 1:已支付, 2:已取消)"` Page int `json:"page" query:"page" validate:"required,min=1" required:"true" minimum:"1" description:"页码"` PageSize int `json:"page_size" query:"page_size" validate:"required,min=1,max=100" required:"true" minimum:"1" maximum:"100" description:"每页数量"` } // ClientOrderListItem D2 客户端订单列表项 type ClientOrderListItem struct { OrderID uint `json:"order_id" description:"订单ID"` OrderNo string `json:"order_no" description:"订单号"` TotalAmount int64 `json:"total_amount" description:"订单总金额(分)"` PaymentStatus int `json:"payment_status" description:"支付状态 (0:待支付, 1:已支付, 2:已取消)"` CreatedAt string `json:"created_at" description:"创建时间"` PackageNames []string `json:"package_names" description:"套餐名称列表"` } // ClientOrderListResponse D2 客户端订单列表响应 type ClientOrderListResponse struct { List []ClientOrderListItem `json:"list" description:"订单列表"` Total int64 `json:"total" description:"总数"` Page int `json:"page" description:"页码"` PageSize int `json:"page_size" description:"每页数量"` } // ======================================== // D3 客户端订单详情 // ======================================== // ClientOrderDetailResponse D3 客户端订单详情响应 type ClientOrderDetailResponse struct { OrderID uint `json:"order_id" description:"订单ID"` OrderNo string `json:"order_no" description:"订单号"` TotalAmount int64 `json:"total_amount" description:"订单总金额(分)"` PaymentStatus int `json:"payment_status" description:"支付状态 (0:待支付, 1:已支付, 2:已取消)"` PaymentMethod string `json:"payment_method" description:"支付方式"` CreatedAt string `json:"created_at" description:"创建时间"` PaidAt *string `json:"paid_at,omitempty" description:"支付时间"` CompletedAt *string `json:"completed_at,omitempty" description:"完成时间"` Packages []ClientOrderPackageItem `json:"packages" description:"订单套餐列表"` } // ClientOrderPackageItem D3 订单套餐项 type ClientOrderPackageItem struct { PackageID uint `json:"package_id" description:"套餐ID"` PackageName string `json:"package_name" description:"套餐名称"` PackageType string `json:"package_type" description:"套餐类型 (formal:正式套餐, addon:加油包)"` Price int64 `json:"price" description:"单价(分)"` Quantity int `json:"quantity" description:"数量"` }