package dto import ( "assets/consts/stock" "gitea.com/red-future/common/beans" "github.com/gogf/gf/v2/frame/g" "go.mongodb.org/mongo-driver/v2/bson" ) // GetStockDetailsReq 获取库存明细详情请求 type GetStockDetailsReq struct { g.Meta `path:"/getStockDetails" method:"get" tags:"库存明细管理" summary:"获取库存明细详情" dc:"获取库存明细详情"` Id *bson.ObjectID `json:"id" v:"required" dc:"库存明细ID"` } // GetStockDetailsRes 获取库存明细详情响应 type GetStockDetailsRes struct { Id *bson.ObjectID `json:"id"` AssetId *bson.ObjectID `json:"assetId"` AssetSkuId *bson.ObjectID `json:"assetSkuId"` Status stock.StockStatus `json:"status"` OrderId *bson.ObjectID `json:"orderId"` LockExpire string `json:"lockExpire"` Metadata map[string]interface{} `json:"metadata"` TokenId string `json:"tokenId"` AssignedChannel string `json:"assignedChannel"` ChannelSKU string `json:"channelSku"` AllocatedAt string `json:"allocatedAt"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` } // ListStockDetailsReq 获取库存明细列表请求 type ListStockDetailsReq struct { g.Meta `path:"/listStockDetails" method:"get" tags:"库存明细管理" summary:"获取库存明细列表" dc:"分页查询库存明细列表,支持多条件筛选"` *beans.Page OrderBy []beans.OrderBy `json:"orderBy" dc:"排序规则"` AssetId int64 `json:"assetId" dc:"资产ID"` AssetSkuId int64 `json:"assetSkuId" dc:"SKU ID"` CategoryPath string `json:"categoryPath" dc:"分类路径"` Status stock.StockStatus `json:"status" dc:"状态"` } // ListStockDetailsRes 获取库存明细列表响应 type ListStockDetailsRes struct { List []*StockDetailsListItem `json:"list" dc:"库存明细列表"` Total int64 `json:"total" dc:"总数"` } // StockDetailsListItem 库存明细列表项 type StockDetailsListItem struct { Id *bson.ObjectID `json:"id"` AssetId *bson.ObjectID `json:"assetId"` AssetSkuId *bson.ObjectID `json:"assetSkuId"` Status stock.StockStatus `json:"status"` OrderId *bson.ObjectID `json:"orderId"` LockExpire string `json:"lockExpire"` Metadata map[string]interface{} `json:"metadata"` TokenId *bson.ObjectID `json:"tokenId"` AssignedChannel string `json:"assignedChannel"` ChannelSKU string `json:"channelSku"` AllocatedAt string `json:"allocatedAt"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` }