91 lines
3.7 KiB
Go
91 lines
3.7 KiB
Go
package dto
|
|
|
|
import (
|
|
"assets/consts/stock"
|
|
|
|
"gitea.com/red-future/common/beans"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
|
)
|
|
|
|
// CommonResp 通用响应
|
|
type CommonResp struct {
|
|
Success bool `json:"success"` // 是否成功
|
|
Message string `json:"message"` // 消息
|
|
}
|
|
|
|
// --- 批次管理API相关结构 ---
|
|
|
|
// CreateBatchReq 创建批次请求
|
|
type CreateBatchReq struct {
|
|
g.Meta `path:"/createBatch" method:"post" tags:"库存批次管理" summary:"创建批次" dc:"创建新的库存批次"`
|
|
|
|
AssetId int64 `json:"assetId" v:"required" dc:"资产ID"`
|
|
AssetSkuId int64 `json:"assetSkuId" v:"required" dc:"SKU ID"`
|
|
BatchNo string `json:"batchNo" v:"required" dc:"批次号"`
|
|
BatchQty int `json:"batchQty" v:"required|min:1" dc:"批次数量"`
|
|
AvailableQty int `json:"availableQty" v:"required|min:1" dc:"可用数量"`
|
|
Metadata []map[string]interface{} `json:"metadata" dc:"元数据"`
|
|
Status stock.BatchStatus `json:"status" dc:"状态"`
|
|
ProductionDate *gtime.Time `json:"productionDate" dc:"生产日期(格式:2006-01-02)"`
|
|
ExpiryDate *gtime.Time `json:"expiryDate" dc:"过期日期(格式:2006-01-02)"`
|
|
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate" dc:"临期预警时间(格式:2006-01-02)"`
|
|
}
|
|
|
|
// CreateBatchRes 创建批次响应
|
|
type CreateBatchRes struct {
|
|
Id *bson.ObjectID `json:"id"` // 批次ID
|
|
}
|
|
|
|
// UpdateBatchReq 更新批次请求
|
|
type UpdateBatchReq struct {
|
|
g.Meta `path:"/updateBatch" method:"put" tags:"库存批次管理" summary:"更新批次" dc:"更新批次信息"`
|
|
|
|
Id int64 `json:"id" v:"required" dc:"批次ID"`
|
|
BatchQty int `json:"batchQty" v:"required|min:1" dc:"批次数量"`
|
|
AvailableQty int `json:"availableQty" v:"required|min:1" dc:"可用数量"`
|
|
}
|
|
|
|
// DeleteBatchReq 删除批次请求
|
|
type DeleteBatchReq struct {
|
|
g.Meta `path:"/deleteBatch" method:"delete" tags:"库存批次管理" summary:"删除批次" dc:"删除批次"`
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"批次ID"`
|
|
}
|
|
|
|
// GetBatchReq 获取批次详情请求
|
|
type GetBatchReq struct {
|
|
g.Meta `path:"/getBatch" method:"get" tags:"库存批次管理" summary:"获取批次详情" dc:"获取批次详情"`
|
|
Id *bson.ObjectID `json:"id" v:"required" dc:"批次ID"`
|
|
}
|
|
|
|
// GetBatchRes 获取批次详情响应
|
|
type GetBatchRes struct {
|
|
Id *bson.ObjectID `json:"id"`
|
|
AssetId *bson.ObjectID `json:"assetId"`
|
|
AssetSkuId *bson.ObjectID `json:"assetSkuId"`
|
|
BatchNo string `json:"batchNo"`
|
|
BatchQty int `json:"batchQty"`
|
|
AvailableQty int `json:"availableQty"`
|
|
Metadata []map[string]interface{} `json:"metadata"`
|
|
Status stock.BatchStatus `json:"status"`
|
|
ProductionDate *gtime.Time `json:"productionDate"`
|
|
ExpiryDate *gtime.Time `json:"expiryDate"`
|
|
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate"`
|
|
}
|
|
|
|
// ListBatchReq 获取批次列表请求
|
|
type ListBatchReq struct {
|
|
g.Meta `path:"/listBatches" method:"get" tags:"库存批次管理" summary:"获取批次列表" dc:"分页查询批次列表"`
|
|
*beans.Page
|
|
OrderBy []beans.OrderBy `json:"orderBy" dc:"排序规则"`
|
|
AssetId *bson.ObjectID `json:"assetId" dc:"资产ID"`
|
|
AssetSkuId *bson.ObjectID `json:"assetSkuId" dc:"SKU ID"`
|
|
}
|
|
|
|
// ListBatchRes 获取批次列表响应
|
|
type ListBatchRes struct {
|
|
List []GetBatchRes `json:"list"`
|
|
Total int64 `json:"total"`
|
|
}
|