138 lines
7.9 KiB
Go
138 lines
7.9 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"
|
||
)
|
||
|
||
// CreatePrivateStockReq 创建实物库存批次请求
|
||
type CreatePrivateStockReq struct {
|
||
g.Meta `path:"/createPrivateStock" method:"post" tags:"实物库存批次管理" summary:"创建实物库存批次" dc:"创建新的实物库存批次"`
|
||
|
||
WarehouseId *bson.ObjectID `json:"warehouseId" v:"required" dc:"仓库ID"`
|
||
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
|
||
LocationId *bson.ObjectID `json:"locationId" dc:"库位ID"`
|
||
PrivateSkuID *bson.ObjectID `json:"privateSkuId" 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:0" dc:"可用数量"`
|
||
BatchStatus *stock.BatchStatus `json:"batchStatus" dc:"批次状态"`
|
||
StockStatus *stock.StockStatus `json:"stockStatus" dc:"库存状态"`
|
||
SupplierID *bson.ObjectID `json:"supplierId" dc:"供应商ID"`
|
||
SupportsRecycle bool `json:"supportsRecycle" dc:"是否支持回收"`
|
||
ProductionDate *gtime.Time `json:"productionDate" dc:"生产日期"`
|
||
ExpiryDate *gtime.Time `json:"expiryDate" dc:"过期日期"`
|
||
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate" dc:"临期预警时间"`
|
||
PrivateCategoryPath string `json:"privateCategoryPath" dc:"私域分类路径"`
|
||
StockType stock.StockLocationType `json:"stockType" dc:"库存类型"`
|
||
}
|
||
|
||
// CreatePrivateStockRes 创建实物库存批次响应
|
||
type CreatePrivateStockRes struct {
|
||
Id *bson.ObjectID `json:"id"`
|
||
}
|
||
|
||
// UpdatePrivateStockReq 更新实物库存批次请求
|
||
type UpdatePrivateStockReq struct {
|
||
g.Meta `path:"/updatePrivateStock" method:"put" tags:"实物库存批次管理" summary:"更新实物库存批次" dc:"更新实物库存批次信息"`
|
||
|
||
Id *bson.ObjectID `json:"id" v:"required" dc:"实物库存批次ID"`
|
||
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
|
||
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
|
||
LocationId *bson.ObjectID `json:"locationId" dc:"库位ID"`
|
||
PrivateSkuID *bson.ObjectID `json:"privateSkuId" dc:"私域SKU ID"`
|
||
BatchNo string `json:"batchNo" dc:"批次号"`
|
||
BatchQty int `json:"batchQty" dc:"批次总数量"`
|
||
AvailableQty int `json:"availableQty" dc:"可用数量"`
|
||
BatchStatus *stock.BatchStatus `json:"batchStatus" dc:"批次状态"`
|
||
StockStatus *stock.StockStatus `json:"stockStatus" dc:"库存状态"`
|
||
SupplierID *bson.ObjectID `json:"supplierId" dc:"供应商ID"`
|
||
SupportsRecycle *bool `json:"supportsRecycle" dc:"是否支持回收"`
|
||
ProductionDate *gtime.Time `json:"productionDate" dc:"生产日期"`
|
||
ExpiryDate *gtime.Time `json:"expiryDate" dc:"过期日期"`
|
||
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate" dc:"临期预警时间"`
|
||
PrivateCategoryPath string `json:"privateCategoryPath" dc:"私域分类路径"`
|
||
StockType stock.StockLocationType `json:"stockType" dc:"库存类型"`
|
||
}
|
||
|
||
// DeletePrivateStockReq 删除私域库存请求
|
||
type DeletePrivateStockReq struct {
|
||
g.Meta `path:"/deletePrivateStock" method:"delete" tags:"私域库存管理" summary:"删除私域库存" dc:"删除私域库存"`
|
||
Id *bson.ObjectID `json:"id" v:"required" dc:"私域库存ID"`
|
||
}
|
||
|
||
// GetPrivateStockReq 获取私域库存详情请求
|
||
type GetPrivateStockReq struct {
|
||
g.Meta `path:"/getPrivateStock" method:"get" tags:"私域库存管理" summary:"获取私域库存详情" dc:"获取私域库存详情"`
|
||
Id *bson.ObjectID `json:"id" v:"required" dc:"私域库存ID"`
|
||
}
|
||
|
||
// GetPrivateStockRes 获取私域库存详情响应
|
||
type GetPrivateStockRes struct {
|
||
Id *bson.ObjectID `json:"id"`
|
||
StockType stock.StockLocationType `json:"stockType"`
|
||
WarehouseId *bson.ObjectID `json:"warehouseId"`
|
||
WarehouseCode string `json:"warehouseCode"`
|
||
WarehouseName string `json:"warehouseName"`
|
||
ZoneId *bson.ObjectID `json:"zoneId"`
|
||
ZoneCode string `json:"zoneCode"`
|
||
ZoneName string `json:"zoneName"`
|
||
ZoneType stock.ZoneType `json:"zoneType"`
|
||
LocationId *bson.ObjectID `json:"locationId"`
|
||
LocationCode string `json:"locationCode"`
|
||
LocationName string `json:"locationName"`
|
||
LocationType stock.LocationType `json:"locationType"`
|
||
PrivateSkuID *bson.ObjectID `json:"privateSkuId"`
|
||
BatchNo string `json:"batchNo"`
|
||
BatchQty int `json:"batchQty"`
|
||
AvailableQty int `json:"availableQty"`
|
||
BatchStatus stock.BatchStatus `json:"batchStatus"`
|
||
OrderID *bson.ObjectID `json:"orderId"`
|
||
SupplierID *bson.ObjectID `json:"supplierId"`
|
||
SupportsRecycle bool `json:"supportsRecycle"`
|
||
ProductionDate *gtime.Time `json:"productionDate"`
|
||
ExpiryDate *gtime.Time `json:"expiryDate"`
|
||
ExpiryWarningDate *gtime.Time `json:"expiryWarningDate"`
|
||
PrivateCategoryPath string `json:"privateCategoryPath"`
|
||
StockStatus stock.StockStatus `json:"stockStatus"`
|
||
LastMovedAt *gtime.Time `json:"lastMovedAt"`
|
||
CreatedAt string `json:"createdAt"`
|
||
UpdatedAt string `json:"updatedAt"`
|
||
}
|
||
|
||
// ListPrivateStockReq 获取私域库存列表请求
|
||
type ListPrivateStockReq struct {
|
||
g.Meta `path:"/listPrivateStocks" method:"get" tags:"私域库存管理" summary:"获取私域库存列表" dc:"分页查询私域库存列表"`
|
||
|
||
*beans.Page
|
||
OrderBy []beans.OrderBy `json:"orderBy" dc:"排序规则"`
|
||
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
|
||
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
|
||
LocationId *bson.ObjectID `json:"locationId" dc:"库位ID"`
|
||
PrivateSkuID *bson.ObjectID `json:"privateSkuId" dc:"私域SKU ID"`
|
||
BatchStatus *stock.BatchStatus `json:"batchStatus" dc:"批次状态"`
|
||
StockStatus *stock.StockStatus `json:"stockStatus" dc:"库存状态"`
|
||
SupplierID *bson.ObjectID `json:"supplierId" dc:"供应商ID"`
|
||
PrivateCategoryPath string `json:"privateCategoryPath" dc:"私域分类路径"`
|
||
StockType stock.StockLocationType `json:"stockType" dc:"库存类型"`
|
||
}
|
||
|
||
// ListPrivateStockRes 获取私域库存列表响应
|
||
type ListPrivateStockRes struct {
|
||
List []GetPrivateStockRes `json:"list"`
|
||
Total int64 `json:"total"`
|
||
}
|
||
|
||
// OutboundPrivateStockReq 实物库存批次出库请求
|
||
type OutboundPrivateStockReq struct {
|
||
g.Meta `path:"/outboundPrivateStock" method:"post" tags:"实物库存批次管理" summary:"实物库存批次出库" dc:"实物库存批次出库操作"`
|
||
|
||
StockId *bson.ObjectID `json:"stockId" v:"required" dc:"实物库存批次ID"`
|
||
OutboundQty int `json:"outboundQty" v:"required|min:1" dc:"出库数量"`
|
||
StockType stock.StockLocationType `json:"stockType" v:"required" dc:"库存类型(必须为PrivateStock)"`
|
||
}
|