refactor: 重构资产实体和DTO结构类型
将gjson.Json类型替换为具体的结构体和map类型,修正DAO层链式调用,启用SKU元数据校验逻辑
This commit is contained in:
@@ -3,24 +3,11 @@ 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:"创建新的库存批次"`
|
||||
|
||||
// CreateSockBatchReq 创建批次请求
|
||||
type CreateSockBatchReq struct {
|
||||
AssetId int64 `json:"assetId" v:"required" dc:"资产ID"`
|
||||
AssetSkuId int64 `json:"assetSkuId" v:"required" dc:"SKU ID"`
|
||||
BatchNo string `json:"batchNo" v:"required" dc:"批次号"`
|
||||
@@ -33,58 +20,13 @@ type CreateBatchReq struct {
|
||||
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:"更新批次信息"`
|
||||
|
||||
type UpdateSockBatchReq struct {
|
||||
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"`
|
||||
type GetSockBatchReq struct {
|
||||
Id int64 `json:"id" v:"required" dc:"批次ID"`
|
||||
BatchNo string `json:"batchNo" dc:"批次号"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user