181 lines
8.0 KiB
Go
181 lines
8.0 KiB
Go
package dto
|
||
|
||
import (
|
||
knapsackConsts "shop-user-trade/consts/knapsack"
|
||
"shop-user-trade/model/config"
|
||
|
||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||
"github.com/gogf/gf/v2/frame/g"
|
||
)
|
||
|
||
// CreateKnapsackReq 创建背包项请求
|
||
type CreateKnapsackReq struct {
|
||
g.Meta `path:"/createKnapsack" method:"post" tags:"背包管理" summary:"创建背包项" dc:"创建新的背包项"`
|
||
|
||
UserID int64 `json:"userId" v:"required" dc:"用户ID"`
|
||
AssetID int64 `json:"assetId" v:"required" dc:"资产ID"`
|
||
AssetName string `json:"assetName" v:"required" dc:"资产名称"`
|
||
SkuID int64 `json:"skuId,omitempty" dc:"SKU ID"`
|
||
SkuName string `json:"skuName,omitempty" dc:"SKU名称"`
|
||
SpecValues map[string]interface{} `json:"specValues,omitempty" dc:"规格值"`
|
||
ImageURL string `json:"imageUrl" dc:"资产图片URL"`
|
||
Type knapsackConsts.KnapsackAssetType `json:"type" v:"required" dc:"资产类型"`
|
||
StockDetailID int64 `json:"stockDetailId,omitempty" dc:"库存明细ID(明细模式)"`
|
||
BatchID int64 `json:"batchId,omitempty" dc:"批次ID(批次模式)"`
|
||
BatchNo string `json:"batchNo,omitempty" dc:"批次号(批次模式)"`
|
||
StockMode int `json:"stockMode" v:"required" dc:"库存管理模式:1-明细模式,2-批次模式"`
|
||
ExpireAt *int64 `json:"expireAt,omitempty" dc:"过期时间(时间戳)"`
|
||
PhysicalAssetConfig *config.PhysicalKnapsackConfig `json:"physicalAssetConfig,omitempty" dc:"实物资产配置"`
|
||
ServiceAssetConfig *config.ServiceKnapsackConfig `json:"serviceAssetConfig,omitempty" dc:"服务资产配置"`
|
||
VirtualAssetConfig *config.VirtualKnapsackConfig `json:"virtualAssetConfig,omitempty" dc:"虚拟资产配置"`
|
||
}
|
||
|
||
// GetKnapsackReq 获取背包项请求
|
||
type GetKnapsackReq struct {
|
||
g.Meta `path:"/getKnapsack" method:"get" tags:"背包管理" summary:"获取背包项" dc:"获取背包项详情"`
|
||
|
||
Id int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
}
|
||
|
||
// UpdateKnapsackReq 更新背包项请求(内部使用)
|
||
type UpdateKnapsackReq struct {
|
||
Id int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
Status *knapsackConsts.KnapsackStatus `json:"status,omitempty" dc:"状态"`
|
||
UsedAt *int64 `json:"usedAt,omitempty" dc:"使用时间"`
|
||
Updater string `json:"updater,omitempty" dc:"更新者"`
|
||
}
|
||
|
||
// DeleteKnapsackReq 删除背包项请求
|
||
type DeleteKnapsackReq struct {
|
||
g.Meta `path:"/deleteKnapsack" method:"delete" tags:"背包管理" summary:"删除背包项" dc:"删除背包项"`
|
||
|
||
Id int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
}
|
||
|
||
// ListKnapsackReq 获取背包列表请求
|
||
type ListKnapsackReq struct {
|
||
g.Meta `path:"/listKnapsack" method:"get" tags:"背包管理" summary:"获取背包列表" dc:"分页查询背包列表,支持多条件筛选"`
|
||
*beans.Page
|
||
|
||
UserID int64 `json:"userId,omitempty" dc:"用户ID"`
|
||
Status *int `json:"status,omitempty" dc:"状态"`
|
||
Type string `json:"type,omitempty" dc:"资产类型"`
|
||
Keyword string `json:"keyword,omitempty" dc:"关键词搜索"`
|
||
}
|
||
|
||
// UseKnapsackReq 使用背包项请求
|
||
type UseKnapsackReq struct {
|
||
g.Meta `path:"/useKnapsack" method:"post" tags:"背包管理" summary:"使用背包项" dc:"手动使用背包中的物品"`
|
||
|
||
ID int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
OperatorID int64 `json:"operatorId" v:"required" dc:"操作者ID"`
|
||
OperatorName string `json:"operatorName" v:"required" dc:"操作者名称"`
|
||
Reason string `json:"reason,omitempty" dc:"使用原因"`
|
||
}
|
||
|
||
// ListToMarketReq 上架背包项请求
|
||
type ListToMarketReq struct {
|
||
g.Meta `path:"/listToMarket" method:"post" tags:"背包管理" summary:"上架到市场" dc:"将背包项上架到市场"`
|
||
|
||
ID int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
OperatorID int64 `json:"operatorId" v:"required" dc:"操作者ID"`
|
||
OperatorName string `json:"operatorName" v:"required" dc:"操作者名称"`
|
||
}
|
||
|
||
// UnlistKnapsackReq 下架背包项请求
|
||
type UnlistKnapsackReq struct {
|
||
g.Meta `path:"/unlistKnapsack" method:"post" tags:"背包管理" summary:"从市场下架" dc:"将背包项从市场下架"`
|
||
|
||
ID int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
OperatorID int64 `json:"operatorId" v:"required" dc:"操作者ID"`
|
||
OperatorName string `json:"operatorName" v:"required" dc:"操作者名称"`
|
||
}
|
||
|
||
// VerifyKnapsackReq 核销背包项请求
|
||
type VerifyKnapsackReq struct {
|
||
g.Meta `path:"/verifyKnapsack" method:"post" tags:"背包管理" summary:"核销背包项" dc:"核销背包中的物品"`
|
||
|
||
ID int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
OperatorID int64 `json:"operatorId" v:"required" dc:"操作者ID"`
|
||
OperatorName string `json:"operatorName" v:"required" dc:"操作者名称"`
|
||
VerifyLocation string `json:"verifyLocation,omitempty" dc:"核销位置"`
|
||
VerifyDevice string `json:"verifyDevice,omitempty" dc:"核销设备"`
|
||
}
|
||
|
||
// GenerateQRCodeReq 生成二维码请求
|
||
type GenerateQRCodeReq struct {
|
||
g.Meta `path:"/generateQRCode" method:"post" tags:"背包管理" summary:"生成核销二维码" dc:"生成用于核销的二维码"`
|
||
|
||
ID int64 `json:"id" v:"required" dc:"背包项ID"`
|
||
ExpireDuration int64 `json:"expireDuration" v:"required" dc:"过期时长(秒)"`
|
||
}
|
||
|
||
// ========== 响应 ==========
|
||
|
||
// CreateKnapsackRes 创建背包项响应
|
||
type CreateKnapsackRes struct {
|
||
ID int64 `json:"id" dc:"背包项ID"`
|
||
}
|
||
|
||
// GetKnapsackRes 获取背包项响应
|
||
type GetKnapsackRes struct {
|
||
*KnapsackItem
|
||
}
|
||
|
||
// ListKnapsackRes 获取背包列表响应
|
||
type ListKnapsackRes struct {
|
||
List []*KnapsackItem `json:"list" dc:"背包列表"`
|
||
Total int `json:"total" dc:"总数"`
|
||
}
|
||
|
||
// UseKnapsackRes 使用背包项响应
|
||
type UseKnapsackRes struct {
|
||
Success bool `json:"success"`
|
||
Message string `json:"message"`
|
||
}
|
||
|
||
// ListToMarketRes 上架背包项响应
|
||
type ListToMarketRes struct {
|
||
Success bool `json:"success"`
|
||
Message string `json:"message"`
|
||
}
|
||
|
||
// UnlistKnapsackRes 下架背包项响应
|
||
type UnlistKnapsackRes struct {
|
||
Success bool `json:"success"`
|
||
Message string `json:"message"`
|
||
}
|
||
|
||
// VerifyKnapsackRes 核销背包项响应
|
||
type VerifyKnapsackRes struct {
|
||
Success bool `json:"success"`
|
||
Message string `json:"message"`
|
||
}
|
||
|
||
// GenerateQRCodeRes 生成二维码响应
|
||
type GenerateQRCodeRes struct {
|
||
QRCode string `json:"qrCode,omitempty"`
|
||
VerifyCode string `json:"verifyCode,omitempty"`
|
||
}
|
||
|
||
// KnapsackItem 背包项视图
|
||
type KnapsackItem struct {
|
||
ID int64 `json:"id" dc:"背包项ID"`
|
||
UserID int64 `json:"userId" dc:"用户ID"`
|
||
AssetID int64 `json:"assetId" dc:"资产ID"`
|
||
AssetName string `json:"assetName" dc:"资产名称"`
|
||
SkuID int64 `json:"skuId,omitempty" dc:"SKU ID"`
|
||
SkuName string `json:"skuName,omitempty" dc:"SKU名称"`
|
||
ImageURL string `json:"imageUrl" dc:"资产图片URL"`
|
||
Type knapsackConsts.KnapsackAssetType `json:"type" dc:"资产类型"`
|
||
Status knapsackConsts.KnapsackStatus `json:"status" dc:"状态"`
|
||
ExpireAt *int64 `json:"expireAt,omitempty" dc:"过期时间"`
|
||
// 库存相关字段
|
||
StockDetailID int64 `json:"stockDetailId,omitempty" dc:"库存明细ID"`
|
||
BatchID int64 `json:"batchId,omitempty" dc:"批次ID"`
|
||
BatchNo string `json:"batchNo,omitempty" dc:"批次号"`
|
||
StockMode int `json:"stockMode" dc:"库存管理模式"`
|
||
CreatedAt string `json:"createdAt" dc:"创建时间"`
|
||
UpdatedAt string `json:"updatedAt" dc:"更新时间"`
|
||
}
|