Dockerfile
This commit is contained in:
96
model/dto/procurement/purchase_inbound_dto.go
Normal file
96
model/dto/procurement/purchase_inbound_dto.go
Normal file
@@ -0,0 +1,96 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"gitea.com/red-future/common/beans"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
// CreatePurchaseInboundReq 创建采购入库请求
|
||||
type CreatePurchaseInboundReq struct {
|
||||
g.Meta `path:"/createPurchaseInbound" method:"post" tags:"采购入库管理" summary:"创建采购入库" dc:"将采购订单明细入库到私域库存"`
|
||||
|
||||
OrderItemId *bson.ObjectID `json:"orderItemId" v:"required" dc:"采购订单明细ID"`
|
||||
InboundQty int `json:"inboundQty" v:"required|min:1" dc:"入库数量"`
|
||||
|
||||
// 仓储信息(非必填)
|
||||
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
|
||||
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
|
||||
LocationId *bson.ObjectID `json:"locationId" dc:"库位ID"`
|
||||
|
||||
// 私域SKU和分类(必填)
|
||||
PrivateSkuId *bson.ObjectID `json:"privateSkuId" v:"required" dc:"私域SKU ID"`
|
||||
PrivateCategoryId *bson.ObjectID `json:"privateCategoryId" v:"required" dc:"私域分类ID"`
|
||||
|
||||
Remark string `json:"remark" dc:"入库备注"`
|
||||
}
|
||||
|
||||
// CreatePurchaseInboundRes 创建采购入库响应
|
||||
type CreatePurchaseInboundRes struct {
|
||||
Id *bson.ObjectID `json:"id" dc:"入库记录ID"`
|
||||
InboundNo string `json:"inboundNo" dc:"入库单号"`
|
||||
BatchNo string `json:"batchNo" dc:"批次号"`
|
||||
}
|
||||
|
||||
// GetPurchaseInboundReq 获取入库详情请求
|
||||
type GetPurchaseInboundReq struct {
|
||||
g.Meta `path:"/getPurchaseInbound" method:"get" tags:"采购入库管理" summary:"获取入库详情" dc:"根据ID获取入库记录详情"`
|
||||
|
||||
Id *bson.ObjectID `json:"id" v:"required" dc:"入库记录ID"`
|
||||
}
|
||||
|
||||
// GetPurchaseInboundRes 获取入库详情响应
|
||||
type GetPurchaseInboundRes struct {
|
||||
Id *bson.ObjectID `json:"id" dc:"入库记录ID"`
|
||||
InboundNo string `json:"inboundNo" dc:"入库单号"`
|
||||
BatchNo string `json:"batchNo" dc:"批次号"`
|
||||
|
||||
// 关联信息
|
||||
OrderId *bson.ObjectID `json:"orderId" dc:"采购订单ID"`
|
||||
OrderItemId *bson.ObjectID `json:"orderItemId" dc:"采购订单明细ID"`
|
||||
|
||||
// 入库数量和时间
|
||||
InboundQty int `json:"inboundQty" dc:"本次入库数量"`
|
||||
InboundDate string `json:"inboundDate" dc:"入库日期"`
|
||||
|
||||
// 仓储信息
|
||||
WarehouseId *bson.ObjectID `json:"warehouseId" dc:"仓库ID"`
|
||||
WarehouseName string `json:"warehouseName" dc:"仓库名称"`
|
||||
ZoneId *bson.ObjectID `json:"zoneId" dc:"库区ID"`
|
||||
ZoneName string `json:"zoneName" dc:"库区名称"`
|
||||
LocationId *bson.ObjectID `json:"locationId" dc:"库位ID"`
|
||||
LocationName string `json:"locationName" dc:"库位名称"`
|
||||
|
||||
// 私域SKU和分类
|
||||
PrivateSkuId *bson.ObjectID `json:"privateSkuId" dc:"私域SKU ID"`
|
||||
PrivateSkuName string `json:"privateSkuName" dc:"私域SKU名称"`
|
||||
PrivateCategoryId *bson.ObjectID `json:"privateCategoryId" dc:"私域分类ID"`
|
||||
PrivateCategoryPath string `json:"privateCategoryPath" dc:"私域分类路径"`
|
||||
|
||||
// 生成的库存信息
|
||||
PrivateStockId *bson.ObjectID `json:"privateStockId" dc:"关联的私域库存ID"`
|
||||
|
||||
Remark string `json:"remark" dc:"入库备注"`
|
||||
CreatedAt string `json:"createdAt" dc:"创建时间"`
|
||||
UpdatedAt string `json:"updatedAt" dc:"更新时间"`
|
||||
}
|
||||
|
||||
// ListPurchaseInboundReq 获取入库列表请求
|
||||
type ListPurchaseInboundReq struct {
|
||||
g.Meta `path:"/listPurchaseInbounds" method:"get" tags:"采购入库管理" summary:"获取入库列表" dc:"分页查询入库记录列表"`
|
||||
|
||||
OrderId *bson.ObjectID `json:"orderId" dc:"采购订单ID"`
|
||||
OrderItemId *bson.ObjectID `json:"orderItemId" dc:"采购订单明细ID"`
|
||||
InboundNo string `json:"inboundNo" dc:"入库单号"`
|
||||
StartDate string `json:"startDate" dc:"开始日期(YYYY-MM-DD)"`
|
||||
EndDate string `json:"endDate" dc:"结束日期(YYYY-MM-DD)"`
|
||||
|
||||
beans.Page `json:",inline"`
|
||||
beans.OrderBy `json:",inline"`
|
||||
}
|
||||
|
||||
// ListPurchaseInboundRes 获取入库列表响应
|
||||
type ListPurchaseInboundRes struct {
|
||||
Total int64 `json:"total" dc:"总数"`
|
||||
List []*GetPurchaseInboundRes `json:"list" dc:"列表"`
|
||||
}
|
||||
232
model/dto/procurement/purchase_order_dto.go
Normal file
232
model/dto/procurement/purchase_order_dto.go
Normal file
@@ -0,0 +1,232 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"assets/consts/procurement"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
// GeneratePurchaseOrderTestDataReq 生成采购订单测试数据请求
|
||||
type GeneratePurchaseOrderTestDataReq struct {
|
||||
g.Meta `path:"/generateTestData" method:"post" tags:"采购订单管理" summary:"生成测试数据" dc:"生成采购订单测试数据"`
|
||||
}
|
||||
|
||||
// CreatePurchaseOrderReq 创建采购订单请求
|
||||
type CreatePurchaseOrderReq struct {
|
||||
g.Meta `path:"/createPurchaseOrder" method:"post" tags:"采购订单管理" summary:"创建采购订单" dc:"创建新的采购订单"`
|
||||
|
||||
// 基础订单信息
|
||||
OrderNo string `json:"orderNo" v:"required" dc:"订单编号"`
|
||||
Title string `json:"title" v:"required" dc:"订单标题"`
|
||||
Description string `json:"description" dc:"订单描述"`
|
||||
OrderType consts.PurchaseOrderType `json:"orderType" v:"required" dc:"订单类型:direct/assignment/bidding"`
|
||||
|
||||
// 需求方信息
|
||||
BuyerId *bson.ObjectID `json:"buyerId" v:"required" dc:"采购方ID(经销商/门店)"`
|
||||
BuyerName string `json:"buyerName" v:"required" dc:"采购方名称"`
|
||||
BuyerType string `json:"buyerType" v:"required" dc:"采购方类型"`
|
||||
|
||||
// 通用状态信息
|
||||
Priority int `json:"priority" dc:"优先级"`
|
||||
|
||||
// 通用字段
|
||||
ExpectedDelivery *gtime.Time `json:"expectedDelivery" dc:"期望交付时间"`
|
||||
ExpiryTime *gtime.Time `json:"expiryTime" dc:"订单有效期/竞价结束时间"`
|
||||
|
||||
// 模式特定信息
|
||||
DirectPurchase *CreateDirectPurchaseReq `json:"directPurchase" dc:"指定供应商模式信息"`
|
||||
BiddingInfo *CreateBiddingReq `json:"biddingInfo" dc:"竞价模式信息"`
|
||||
}
|
||||
|
||||
// CreateDirectPurchaseReq 指定供应商模式信息
|
||||
type CreateDirectPurchaseReq struct {
|
||||
SupplierId *bson.ObjectID `json:"supplierId" v:"required" dc:"指定供应商ID"`
|
||||
SupplierName string `json:"supplierName" dc:"指定供应商名称"`
|
||||
SupplierCode string `json:"supplierCode" dc:"供应商编码"`
|
||||
AssignReason string `json:"assignReason" dc:"指派原因"`
|
||||
DeliveryAddress string `json:"deliveryAddress" dc:"交付地址"`
|
||||
ContactPerson string `json:"contactPerson" dc:"联系人"`
|
||||
ContactPhone string `json:"contactPhone" dc:"联系电话"`
|
||||
}
|
||||
|
||||
// CreateBiddingReq 竞价模式信息
|
||||
type CreateBiddingReq struct {
|
||||
BidMode consts.BidMode `json:"bidMode" v:"required" dc:"竞价模式:price/quality/time/mixed"`
|
||||
MinSuppliers int `json:"minSuppliers" v:"min:1" dc:"最少参与供应商数"`
|
||||
MaxSuppliers int `json:"maxSuppliers" v:"min:1" dc:"最多参与供应商数"`
|
||||
BidDuration int `json:"bidDuration" v:"min:1" dc:"竞价持续时长(分钟)"`
|
||||
BidStartAt *gtime.Time `json:"bidStartAt" dc:"竞价开始时间"`
|
||||
BidEndAt *gtime.Time `json:"bidEndAt" dc:"竞价结束时间"`
|
||||
}
|
||||
|
||||
// CreatePurchaseOrderRes 创建采购订单响应
|
||||
type CreatePurchaseOrderRes struct {
|
||||
ID *bson.ObjectID `json:"id"` // 采购订单ID
|
||||
}
|
||||
|
||||
// UpdatePurchaseOrderReq 更新采购订单请求
|
||||
type UpdatePurchaseOrderReq struct {
|
||||
g.Meta `path:"/updatePurchaseOrder" method:"put" tags:"采购订单管理" summary:"更新采购订单" dc:"更新采购订单信息"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"采购订单ID"`
|
||||
|
||||
// 基础订单信息
|
||||
Title string `json:"title" dc:"订单标题"`
|
||||
Description string `json:"description" dc:"订单描述"`
|
||||
OrderType consts.PurchaseOrderType `json:"orderType" dc:"订单类型"`
|
||||
|
||||
// 需求方信息
|
||||
BuyerId *bson.ObjectID `json:"buyerId" dc:"采购方ID"`
|
||||
BuyerName string `json:"buyerName" dc:"采购方名称"`
|
||||
BuyerType string `json:"buyerType" dc:"采购方类型"`
|
||||
|
||||
// 通用状态信息
|
||||
Status consts.PurchaseOrderStatus `json:"status" dc:"订单状态"`
|
||||
Priority int `json:"priority" dc:"优先级"`
|
||||
|
||||
// 通用字段
|
||||
ExpectedDelivery *gtime.Time `json:"expectedDelivery" dc:"期望交付时间"`
|
||||
ExpiryTime *gtime.Time `json:"expiryTime" dc:"订单有效期/竞价结束时间"`
|
||||
|
||||
// 模式特定信息
|
||||
DirectPurchase *UpdateDirectPurchaseReq `json:"directPurchase" dc:"指定供应商模式信息"`
|
||||
BiddingInfo *UpdateBiddingReq `json:"biddingInfo" dc:"竞价模式信息"`
|
||||
}
|
||||
|
||||
// UpdateDirectPurchaseReq 更新指定供应商模式信息
|
||||
type UpdateDirectPurchaseReq struct {
|
||||
SupplierId *bson.ObjectID `json:"supplierId" dc:"指定供应商ID"`
|
||||
SupplierName string `json:"supplierName" dc:"指定供应商名称"`
|
||||
SupplierCode string `json:"supplierCode" dc:"供应商编码"`
|
||||
AssignReason string `json:"assignReason" dc:"指派原因"`
|
||||
DeliveryAddress string `json:"deliveryAddress" dc:"交付地址"`
|
||||
ContactPerson string `json:"contactPerson" dc:"联系人"`
|
||||
ContactPhone string `json:"contactPhone" dc:"联系电话"`
|
||||
ResponseStatus string `json:"responseStatus" dc:"供应商响应状态"`
|
||||
}
|
||||
|
||||
// UpdateBiddingReq 更新竞价模式信息
|
||||
type UpdateBiddingReq struct {
|
||||
BidMode consts.BidMode `json:"bidMode" dc:"竞价模式"`
|
||||
MinSuppliers int `json:"minSuppliers" dc:"最少参与供应商数"`
|
||||
MaxSuppliers int `json:"maxSuppliers" dc:"最多参与供应商数"`
|
||||
BidDuration int `json:"bidDuration" dc:"竞价持续时长(分钟)"`
|
||||
BidSupplierCount int `json:"bidSupplierCount" dc:"参与竞价的供应商数量"`
|
||||
BidStartAt *gtime.Time `json:"bidStartAt" dc:"竞价开始时间"`
|
||||
BidEndAt *gtime.Time `json:"bidEndAt" dc:"竞价结束时间"`
|
||||
}
|
||||
|
||||
// DeletePurchaseOrderReq 删除采购订单请求
|
||||
type DeletePurchaseOrderReq struct {
|
||||
g.Meta `path:"/deletePurchaseOrder" method:"delete" tags:"采购订单管理" summary:"删除采购订单" dc:"删除采购订单"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"采购订单ID"`
|
||||
}
|
||||
|
||||
// GetPurchaseOrderReq 获取采购订单详情请求
|
||||
type GetPurchaseOrderReq struct {
|
||||
g.Meta `path:"/getPurchaseOrder" method:"get" tags:"采购订单管理" summary:"获取采购订单详情" dc:"获取采购订单详情"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"采购订单ID"`
|
||||
}
|
||||
|
||||
// GetPurchaseOrderRes 获取采购订单详情响应
|
||||
type GetPurchaseOrderRes struct {
|
||||
ID *bson.ObjectID `json:"id"`
|
||||
OrderNo string `json:"orderNo"`
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
OrderType consts.PurchaseOrderType `json:"orderType"`
|
||||
BuyerId *bson.ObjectID `json:"buyerId"`
|
||||
BuyerName string `json:"buyerName"`
|
||||
BuyerType string `json:"buyerType"`
|
||||
Status consts.PurchaseOrderStatus `json:"status"`
|
||||
StatusText string `json:"statusText"`
|
||||
Priority int `json:"priority"`
|
||||
DirectPurchase *DirectPurchaseInfoRes `json:"directPurchase"`
|
||||
BiddingInfo *BiddingInfoRes `json:"biddingInfo"`
|
||||
ExpectedDelivery string `json:"expectedDelivery"`
|
||||
ExpiryTime string `json:"expiryTime"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
|
||||
// DirectPurchaseInfoRes 指定供应商模式信息响应
|
||||
type DirectPurchaseInfoRes struct {
|
||||
SupplierId *bson.ObjectID `json:"supplierId"`
|
||||
SupplierName string `json:"supplierName"`
|
||||
SupplierCode string `json:"supplierCode"`
|
||||
AssignReason string `json:"assignReason"`
|
||||
DeliveryAddress string `json:"deliveryAddress"`
|
||||
ContactPerson string `json:"contactPerson"`
|
||||
ContactPhone string `json:"contactPhone"`
|
||||
ResponseStatus string `json:"responseStatus"`
|
||||
AssignedAt string `json:"assignedAt"`
|
||||
AcceptedAt string `json:"acceptedAt"`
|
||||
RejectedAt string `json:"rejectedAt"`
|
||||
DeliveredAt string `json:"deliveredAt"`
|
||||
}
|
||||
|
||||
// BiddingInfoRes 竞价模式信息响应
|
||||
type BiddingInfoRes struct {
|
||||
BidMode consts.BidMode `json:"bidMode"`
|
||||
BidModeText string `json:"bidModeText"`
|
||||
MinSuppliers int `json:"minSuppliers"`
|
||||
MaxSuppliers int `json:"maxSuppliers"`
|
||||
BidDuration int `json:"bidDuration"`
|
||||
BidSupplierCount int `json:"bidSupplierCount"`
|
||||
BidStartAt string `json:"bidStartAt"`
|
||||
BidEndAt string `json:"bidEndAt"`
|
||||
ResultPublishedAt string `json:"resultPublishedAt"`
|
||||
}
|
||||
|
||||
// ListPurchaseOrdersReq 获取采购订单列表请求
|
||||
type ListPurchaseOrdersReq struct {
|
||||
g.Meta `path:"/listPurchaseOrders" method:"get" tags:"采购订单管理" summary:"获取采购订单列表" dc:"分页查询采购订单列表"`
|
||||
|
||||
OrderNo string `json:"orderNo" dc:"订单编号(精确查询)"`
|
||||
Title string `json:"title" dc:"订单标题(模糊查询)"`
|
||||
BuyerId *bson.ObjectID `json:"buyerId" dc:"采购方ID(精确查询)"`
|
||||
OrderType consts.PurchaseOrderType `json:"orderType" dc:"订单类型"`
|
||||
Status *consts.PurchaseOrderStatus `json:"status" dc:"订单状态"`
|
||||
PageNum int `json:"pageNum" dc:"页码"`
|
||||
PageSize int `json:"pageSize" dc:"每页大小"`
|
||||
}
|
||||
|
||||
// ListPurchaseOrdersRes 获取采购订单列表响应
|
||||
type ListPurchaseOrdersRes struct {
|
||||
List []*PurchaseOrderListItem `json:"list" dc:"采购订单列表"`
|
||||
Total int64 `json:"total" dc:"总数"`
|
||||
}
|
||||
|
||||
// PurchaseOrderListItem 采购订单列表项
|
||||
type PurchaseOrderListItem struct {
|
||||
ID *bson.ObjectID `json:"id"`
|
||||
OrderNo string `json:"orderNo"`
|
||||
Title string `json:"title"`
|
||||
OrderType consts.PurchaseOrderType `json:"orderType"`
|
||||
OrderTypeText string `json:"orderTypeText"`
|
||||
BuyerName string `json:"buyerName"`
|
||||
BuyerType string `json:"buyerType"`
|
||||
Status consts.PurchaseOrderStatus `json:"status"`
|
||||
StatusText string `json:"statusText"`
|
||||
Priority int `json:"priority"`
|
||||
ExpectedDelivery string `json:"expectedDelivery"`
|
||||
ExpiryTime string `json:"expiryTime"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
|
||||
// BatchCreatePurchaseOrdersReq 批量创建采购订单请求
|
||||
type BatchCreatePurchaseOrdersReq struct {
|
||||
g.Meta `path:"/batchCreatePurchaseOrders" method:"post" tags:"采购订单管理" summary:"批量创建采购订单" dc:"批量创建采购订单"`
|
||||
|
||||
Orders []CreatePurchaseOrderReq `json:"orders" v:"required" dc:"采购订单列表"`
|
||||
}
|
||||
|
||||
// BatchCreatePurchaseOrdersRes 批量创建采购订单响应
|
||||
type BatchCreatePurchaseOrdersRes struct {
|
||||
IDs []*bson.ObjectID `json:"ids"` // 创建的ID列表
|
||||
}
|
||||
168
model/dto/procurement/purchase_order_item_dto.go
Normal file
168
model/dto/procurement/purchase_order_item_dto.go
Normal file
@@ -0,0 +1,168 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
// GeneratePurchaseOrderItemTestDataReq 生成采购订单明细测试数据请求
|
||||
type GeneratePurchaseOrderItemTestDataReq struct {
|
||||
g.Meta `path:"/generateTestData" method:"post" tags:"采购订单明细管理" summary:"生成测试数据" dc:"生成采购订单明细测试数据"`
|
||||
}
|
||||
|
||||
// CreatePurchaseOrderItemReq 创建采购订单明细请求
|
||||
type CreatePurchaseOrderItemReq struct {
|
||||
g.Meta `path:"/createPurchaseOrderItem" method:"post" tags:"采购订单明细管理" summary:"创建采购订单明细" dc:"创建新的采购订单明细"`
|
||||
|
||||
// 关联信息
|
||||
OrderId *bson.ObjectID `json:"orderId" v:"required" dc:"订单ID"`
|
||||
AssetId *bson.ObjectID `json:"assetId" v:"required" dc:"资产ID"`
|
||||
AssetSkuId *bson.ObjectID `json:"assetSkuId" dc:"资产SKU ID"`
|
||||
|
||||
// 商品信息
|
||||
ProductName string `json:"productName" v:"required" dc:"商品名称"`
|
||||
Specification string `json:"specification" dc:"规格描述"`
|
||||
Brand string `json:"brand" dc:"品牌"`
|
||||
|
||||
// 数量和价格
|
||||
Quantity int `json:"quantity" v:"required|min:1" dc:"订购数量"`
|
||||
Unit string `json:"unit" v:"required" dc:"单位"`
|
||||
UnitPrice int `json:"unitPrice" v:"required|min:0" dc:"单价(分)"`
|
||||
TotalPrice int `json:"totalPrice" v:"required|min:0" dc:"总价(分)"`
|
||||
DiscountPrice int `json:"discountPrice" v:"min:0" dc:"折扣价(分)"`
|
||||
|
||||
// 要求信息
|
||||
RequirementDesc string `json:"requirementDesc" dc:"特殊要求描述"`
|
||||
DeliveryAddress string `json:"deliveryAddress" dc:"交付地址"`
|
||||
}
|
||||
|
||||
// CreatePurchaseOrderItemRes 创建采购订单明细响应
|
||||
type CreatePurchaseOrderItemRes struct {
|
||||
ID *bson.ObjectID `json:"id"` // 采购订单明细ID
|
||||
}
|
||||
|
||||
// UpdatePurchaseOrderItemReq 更新采购订单明细请求
|
||||
type UpdatePurchaseOrderItemReq struct {
|
||||
g.Meta `path:"/updatePurchaseOrderItem" method:"put" tags:"采购订单明细管理" summary:"更新采购订单明细" dc:"更新采购订单明细信息"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"采购订单明细ID"`
|
||||
|
||||
// 关联信息
|
||||
AssetId *bson.ObjectID `json:"assetId" dc:"资产ID"`
|
||||
AssetSkuId *bson.ObjectID `json:"assetSkuId" dc:"资产SKU ID"`
|
||||
|
||||
// 商品信息
|
||||
ProductName string `json:"productName" dc:"商品名称"`
|
||||
Specification string `json:"specification" dc:"规格描述"`
|
||||
Brand string `json:"brand" dc:"品牌"`
|
||||
|
||||
// 数量和价格
|
||||
Quantity int `json:"quantity" v:"min:1" dc:"订购数量"`
|
||||
Unit string `json:"unit" dc:"单位"`
|
||||
UnitPrice int `json:"unitPrice" v:"min:0" dc:"单价(分)"`
|
||||
TotalPrice int `json:"totalPrice" v:"min:0" dc:"总价(分)"`
|
||||
DiscountPrice int `json:"discountPrice" v:"min:0" dc:"折扣价(分)"`
|
||||
|
||||
// 签收和入库
|
||||
PassQuantity int `json:"passQuantity" dc:"签收数量"`
|
||||
InboundQty int `json:"inboundQty" dc:"已入库数量"`
|
||||
|
||||
// 要求信息
|
||||
RequirementDesc string `json:"requirementDesc" dc:"特殊要求描述"`
|
||||
DeliveryAddress string `json:"deliveryAddress" dc:"交付地址"`
|
||||
}
|
||||
|
||||
// UpdatePurchaseOrderItemRes 更新采购订单明细响应
|
||||
type UpdatePurchaseOrderItemRes struct {
|
||||
ID *bson.ObjectID `json:"id"` // 采购订单明细ID
|
||||
}
|
||||
|
||||
// DeletePurchaseOrderItemReq 删除采购订单明细请求
|
||||
type DeletePurchaseOrderItemReq struct {
|
||||
g.Meta `path:"/deletePurchaseOrderItem" method:"delete" tags:"采购订单明细管理" summary:"删除采购订单明细" dc:"删除采购订单明细"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"采购订单明细ID"`
|
||||
}
|
||||
|
||||
// DeletePurchaseOrderItemRes 删除采购订单明细响应
|
||||
type DeletePurchaseOrderItemRes struct {
|
||||
ID *bson.ObjectID `json:"id"` // 采购订单明细ID
|
||||
}
|
||||
|
||||
// GetPurchaseOrderItemReq 获取采购订单明细详情请求
|
||||
type GetPurchaseOrderItemReq struct {
|
||||
g.Meta `path:"/getPurchaseOrderItem" method:"get" tags:"采购订单明细管理" summary:"获取采购订单明细详情" dc:"获取采购订单明细详情"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"采购订单明细ID"`
|
||||
}
|
||||
|
||||
// GetPurchaseOrderItemRes 获取采购订单明细详情响应
|
||||
type GetPurchaseOrderItemRes struct {
|
||||
ID *bson.ObjectID `json:"id"`
|
||||
OrderId *bson.ObjectID `json:"orderId"`
|
||||
AssetId *bson.ObjectID `json:"assetId"`
|
||||
AssetSkuId *bson.ObjectID `json:"assetSkuId"`
|
||||
ProductName string `json:"productName"`
|
||||
Specification string `json:"specification"`
|
||||
Brand string `json:"brand"`
|
||||
Quantity int `json:"quantity"`
|
||||
Unit string `json:"unit"`
|
||||
UnitPrice int `json:"unitPrice"`
|
||||
TotalPrice int `json:"totalPrice"`
|
||||
DiscountPrice int `json:"discountPrice"`
|
||||
RequirementDesc string `json:"requirementDesc"`
|
||||
DeliveryAddress string `json:"deliveryAddress"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
|
||||
// ListPurchaseOrderItemsReq 获取采购订单明细列表请求
|
||||
type ListPurchaseOrderItemsReq struct {
|
||||
g.Meta `path:"/listPurchaseOrderItems" method:"get" tags:"采购订单明细管理" summary:"获取采购订单明细列表" dc:"分页查询采购订单明细列表"`
|
||||
|
||||
OrderId *bson.ObjectID `json:"orderId" dc:"订单ID(精确查询)"`
|
||||
AssetId *bson.ObjectID `json:"assetId" dc:"资产ID(精确查询)"`
|
||||
AssetSkuId *bson.ObjectID `json:"assetSkuId" dc:"资产SKU ID(精确查询)"`
|
||||
ProductName string `json:"productName" dc:"商品名称(模糊查询)"`
|
||||
Brand string `json:"brand" dc:"品牌(模糊查询)"`
|
||||
PageNum int `json:"pageNum" dc:"页码"`
|
||||
PageSize int `json:"pageSize" dc:"每页大小"`
|
||||
}
|
||||
|
||||
// ListPurchaseOrderItemsRes 获取采购订单明细列表响应
|
||||
type ListPurchaseOrderItemsRes struct {
|
||||
List []*PurchaseOrderItemListItem `json:"list" dc:"采购订单明细列表"`
|
||||
Total int64 `json:"total" dc:"总数"`
|
||||
}
|
||||
|
||||
// PurchaseOrderItemListItem 采购订单明细列表项
|
||||
type PurchaseOrderItemListItem struct {
|
||||
ID *bson.ObjectID `json:"id"`
|
||||
OrderId *bson.ObjectID `json:"orderId"`
|
||||
AssetId *bson.ObjectID `json:"assetId"`
|
||||
AssetSkuId *bson.ObjectID `json:"assetSkuId"`
|
||||
ProductName string `json:"productName"`
|
||||
Specification string `json:"specification"`
|
||||
Brand string `json:"brand"`
|
||||
Quantity int `json:"quantity"`
|
||||
Unit string `json:"unit"`
|
||||
UnitPrice int `json:"unitPrice"`
|
||||
TotalPrice int `json:"totalPrice"`
|
||||
DiscountPrice int `json:"discountPrice"`
|
||||
RequirementDesc string `json:"requirementDesc"`
|
||||
DeliveryAddress string `json:"deliveryAddress"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
|
||||
// BatchCreatePurchaseOrderItemsReq 批量创建采购订单明细请求
|
||||
type BatchCreatePurchaseOrderItemsReq struct {
|
||||
g.Meta `path:"/batchCreatePurchaseOrderItems" method:"post" tags:"采购订单明细管理" summary:"批量创建采购订单明细" dc:"批量创建采购订单明细"`
|
||||
|
||||
Items []CreatePurchaseOrderItemReq `json:"items" v:"required" dc:"采购订单明细列表"`
|
||||
}
|
||||
|
||||
// BatchCreatePurchaseOrderItemsRes 批量创建采购订单明细响应
|
||||
type BatchCreatePurchaseOrderItemsRes struct {
|
||||
IDs []*bson.ObjectID `json:"ids"` // 创建的ID列表
|
||||
}
|
||||
253
model/dto/procurement/supplier_dto.go
Normal file
253
model/dto/procurement/supplier_dto.go
Normal file
@@ -0,0 +1,253 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"assets/consts/procurement"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
// GenerateSupplierTestDataReq 生成供应商测试数据请求
|
||||
type GenerateSupplierTestDataReq struct {
|
||||
g.Meta `path:"/generateTestData" method:"post" tags:"供应商管理" summary:"生成测试数据" dc:"生成供应商测试数据"`
|
||||
}
|
||||
|
||||
// CreateSupplierReq 创建供应商请求
|
||||
type CreateSupplierReq struct {
|
||||
g.Meta `path:"/createSupplier" method:"post" tags:"供应商管理" summary:"创建供应商" dc:"创建新的供应商(仅基础信息)"`
|
||||
|
||||
// 基础信息(最小必要字段)
|
||||
Name string `json:"name" v:"required|max-length:100#供应商名称不能为空|供应商名称不能超过100个字符" dc:"供应商名称(必填)"`
|
||||
Code string `json:"code" v:"required|max-length:50#供应商编码不能为空|供应商编码不能超过50个字符" dc:"供应商编码(必填)"`
|
||||
ShortName string `json:"shortName" dc:"供应商简称"`
|
||||
Alias []string `json:"alias" dc:"别名列表"`
|
||||
Logo string `json:"logo" dc:"供应商LOGO URL"`
|
||||
|
||||
// 联系信息
|
||||
Phone string `json:"phone" dc:"供应商电话"`
|
||||
Mobile string `json:"mobile" dc:"手机号码"`
|
||||
Email string `json:"email" dc:"邮箱地址"`
|
||||
Website string `json:"website" dc:"官网地址"`
|
||||
ContactPerson string `json:"contactPerson" dc:"联系人姓名"`
|
||||
ContactPhone string `json:"contactPhone" dc:"联系人电话"`
|
||||
ContactEmail string `json:"contactEmail" dc:"联系人邮箱"`
|
||||
ContactPosition string `json:"contactPosition" dc:"联系人职位"`
|
||||
|
||||
// 地址信息
|
||||
Country string `json:"country" dc:"国家"`
|
||||
Province string `json:"province" dc:"省份"`
|
||||
City string `json:"city" dc:"城市"`
|
||||
District string `json:"district" dc:"区县"`
|
||||
Address string `json:"address" dc:"详细地址"`
|
||||
PostalCode string `json:"postalCode" dc:"邮政编码"`
|
||||
|
||||
// 企业资质信息
|
||||
BusinessLicense string `json:"businessLicense" dc:"营业执照号"`
|
||||
LegalPerson string `json:"legalPerson" dc:"法定代表人"`
|
||||
TaxNumber string `json:"taxNumber" dc:"税务登记号"`
|
||||
BankName string `json:"bankName" dc:"开户银行"`
|
||||
BankAccount string `json:"bankAccount" dc:"银行账号"`
|
||||
BankAccountName string `json:"bankAccountName" dc:"账户名称"`
|
||||
|
||||
// 业务合作信息
|
||||
SupplierLevel string `json:"supplierLevel" dc:"供应商等级"`
|
||||
PaymentMethod string `json:"paymentMethod" dc:"结算方式"`
|
||||
PaymentPeriod int `json:"paymentPeriod" dc:"付款周期(天)"`
|
||||
TaxRate float64 `json:"taxRate" dc:"税率(如0.13表示13%)"`
|
||||
MinOrderAmount int `json:"minOrderAmount" dc:"最小订货金额(分)"`
|
||||
|
||||
// 经营品类信息
|
||||
MainCategories []string `json:"mainCategories" dc:"主营品类ID列表"`
|
||||
BusinessScope string `json:"businessScope" dc:"经营范围"`
|
||||
|
||||
// 状态信息
|
||||
Status consts.SupplierStatus `json:"status" dc:"供应商状态"`
|
||||
|
||||
// 备注和标签
|
||||
Remark string `json:"remark" dc:"备注信息"`
|
||||
Tags []string `json:"tags" dc:"标签列表"`
|
||||
}
|
||||
|
||||
// CreateSupplierRes 创建供应商响应
|
||||
type CreateSupplierRes struct {
|
||||
ID *bson.ObjectID `json:"id"` // 供应商ID
|
||||
}
|
||||
|
||||
// BatchCreateSuppliersReq 批量创建供应商请求
|
||||
type BatchCreateSuppliersReq struct {
|
||||
g.Meta `path:"/batchCreateSuppliers" method:"post" tags:"供应商管理" summary:"批量创建供应商" dc:"批量创建供应商"`
|
||||
|
||||
Suppliers []CreateSupplierReq `json:"suppliers" v:"required" dc:"供应商列表"`
|
||||
}
|
||||
|
||||
// BatchCreateSuppliersRes 批量创建供应商响应
|
||||
type BatchCreateSuppliersRes struct {
|
||||
IDs []*bson.ObjectID `json:"ids"` // 创建的ID列表
|
||||
}
|
||||
|
||||
// UpdateSupplierReq 更新供应商请求
|
||||
type UpdateSupplierReq struct {
|
||||
g.Meta `path:"/updateSupplier" method:"put" tags:"供应商管理" summary:"更新供应商" dc:"更新供应商信息"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"供应商ID"`
|
||||
|
||||
// 基础信息
|
||||
Name string `json:"name" dc:"供应商名称"`
|
||||
Code string `json:"code" dc:"供应商编码"`
|
||||
ShortName string `json:"shortName" dc:"供应商简称"`
|
||||
Alias []string `json:"alias" dc:"别名列表"`
|
||||
Logo string `json:"logo" dc:"供应商LOGO URL"`
|
||||
|
||||
// 联系信息
|
||||
Phone string `json:"phone" dc:"供应商电话"`
|
||||
Mobile string `json:"mobile" dc:"手机号码"`
|
||||
Email string `json:"email" dc:"邮箱地址"`
|
||||
Website string `json:"website" dc:"官网地址"`
|
||||
ContactPerson string `json:"contactPerson" dc:"联系人姓名"`
|
||||
ContactPhone string `json:"contactPhone" dc:"联系人电话"`
|
||||
ContactEmail string `json:"contactEmail" dc:"联系人邮箱"`
|
||||
ContactPosition string `json:"contactPosition" dc:"联系人职位"`
|
||||
|
||||
// 地址信息
|
||||
Country string `json:"country" dc:"国家"`
|
||||
Province string `json:"province" dc:"省份"`
|
||||
City string `json:"city" dc:"城市"`
|
||||
District string `json:"district" dc:"区县"`
|
||||
Address string `json:"address" dc:"详细地址"`
|
||||
PostalCode string `json:"postalCode" dc:"邮政编码"`
|
||||
|
||||
// 企业资质信息
|
||||
BusinessLicense string `json:"businessLicense" dc:"营业执照号"`
|
||||
LegalPerson string `json:"legalPerson" dc:"法定代表人"`
|
||||
TaxNumber string `json:"taxNumber" dc:"税务登记号"`
|
||||
BankName string `json:"bankName" dc:"开户银行"`
|
||||
BankAccount string `json:"bankAccount" dc:"银行账号"`
|
||||
BankAccountName string `json:"bankAccountName" dc:"账户名称"`
|
||||
|
||||
// 业务合作信息
|
||||
SupplierLevel string `json:"supplierLevel" dc:"供应商等级"`
|
||||
PaymentMethod string `json:"paymentMethod" dc:"结算方式"`
|
||||
PaymentPeriod int `json:"paymentPeriod" dc:"付款周期(天)"`
|
||||
TaxRate float64 `json:"taxRate" dc:"税率(如0.13表示13%)"`
|
||||
MinOrderAmount int `json:"minOrderAmount" dc:"最小订货金额(分)"`
|
||||
|
||||
// 经营品类信息
|
||||
MainCategories []string `json:"mainCategories" dc:"主营品类ID列表"`
|
||||
BusinessScope string `json:"businessScope" dc:"经营范围"`
|
||||
|
||||
// 状态信息
|
||||
Status consts.SupplierStatus `json:"status" dc:"供应商状态"`
|
||||
|
||||
// 备注和标签
|
||||
Remark string `json:"remark" dc:"备注信息"`
|
||||
Tags []string `json:"tags" dc:"标签列表"`
|
||||
}
|
||||
|
||||
// DeleteSupplierReq 删除供应商请求
|
||||
type DeleteSupplierReq struct {
|
||||
g.Meta `path:"/deleteSupplier" method:"delete" tags:"供应商管理" summary:"删除供应商" dc:"删除供应商"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"供应商ID"`
|
||||
}
|
||||
|
||||
// GetSupplierReq 获取供应商详情请求
|
||||
type GetSupplierReq struct {
|
||||
g.Meta `path:"/getSupplier" method:"get" tags:"供应商管理" summary:"获取供应商详情" dc:"获取供应商详情"`
|
||||
|
||||
ID *bson.ObjectID `json:"id" v:"required" dc:"供应商ID"`
|
||||
}
|
||||
|
||||
// GetSupplierRes 获取供应商详情响应(简化版)
|
||||
type GetSupplierRes struct {
|
||||
ID *bson.ObjectID `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Code string `json:"code"`
|
||||
ShortName string `json:"shortName"`
|
||||
Alias []string `json:"alias"`
|
||||
Logo string `json:"logo"`
|
||||
Phone string `json:"phone"`
|
||||
Mobile string `json:"mobile"`
|
||||
Email string `json:"email"`
|
||||
Website string `json:"website"`
|
||||
ContactPerson string `json:"contactPerson"`
|
||||
ContactPhone string `json:"contactPhone"`
|
||||
ContactEmail string `json:"contactEmail"`
|
||||
ContactPosition string `json:"contactPosition"`
|
||||
Country string `json:"country"`
|
||||
Province string `json:"province"`
|
||||
City string `json:"city"`
|
||||
District string `json:"district"`
|
||||
Address string `json:"address"`
|
||||
PostalCode string `json:"postalCode"`
|
||||
BusinessLicense string `json:"businessLicense"`
|
||||
LegalPerson string `json:"legalPerson"`
|
||||
TaxNumber string `json:"taxNumber"`
|
||||
BankName string `json:"bankName"`
|
||||
BankAccount string `json:"bankAccount"`
|
||||
BankAccountName string `json:"bankAccountName"`
|
||||
SupplierLevel string `json:"supplierLevel"`
|
||||
PaymentMethod string `json:"paymentMethod"`
|
||||
PaymentPeriod int `json:"paymentPeriod"`
|
||||
TaxRate float64 `json:"taxRate"`
|
||||
MinOrderAmount int `json:"minOrderAmount"`
|
||||
MainCategories []string `json:"mainCategories"`
|
||||
BusinessScope string `json:"businessScope"`
|
||||
Status consts.SupplierStatus `json:"status"`
|
||||
StatusText string `json:"statusText"`
|
||||
Rating float64 `json:"rating"`
|
||||
DeliveryRating float64 `json:"deliveryRating"`
|
||||
QualityRating float64 `json:"qualityRating"`
|
||||
ServiceRating float64 `json:"serviceRating"`
|
||||
TotalOrders int64 `json:"totalOrders"`
|
||||
TotalAmount int64 `json:"totalAmount"`
|
||||
Remark string `json:"remark"`
|
||||
Tags []string `json:"tags"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
|
||||
// ListSuppliersReq 获取供应商列表请求
|
||||
type ListSuppliersReq struct {
|
||||
g.Meta `path:"/listSuppliers" method:"get" tags:"供应商管理" summary:"获取供应商列表" dc:"分页查询供应商列表"`
|
||||
|
||||
Name string `json:"name" dc:"供应商名称(模糊查询)"`
|
||||
Code string `json:"code" dc:"供应商编码(精确查询)"`
|
||||
Status *consts.SupplierStatus `json:"status" dc:"供应商状态"`
|
||||
PageNum int `json:"pageNum" dc:"页码"`
|
||||
PageSize int `json:"pageSize" dc:"每页大小"`
|
||||
}
|
||||
|
||||
// ListSuppliersRes 获取供应商列表响应
|
||||
type ListSuppliersRes struct {
|
||||
List []*SupplierListItem `json:"list" dc:"供应商列表"`
|
||||
Total int64 `json:"total" dc:"总数"`
|
||||
}
|
||||
|
||||
// GetSupplierOptionsReq 获取供应商选项请求
|
||||
type GetSupplierOptionsReq struct {
|
||||
g.Meta `path:"/getSupplierOptions" method:"get" tags:"供应商管理" summary:"获取供应商选项" dc:"获取供应商选项(用于下拉选择)"`
|
||||
}
|
||||
|
||||
// GetSupplierOptionsRes 获取供应商选项响应
|
||||
type GetSupplierOptionsRes struct {
|
||||
List []*SupplierListItem `json:"list" dc:"供应商选项列表"`
|
||||
}
|
||||
|
||||
// SupplierListItem 供应商列表项(简化版)
|
||||
type SupplierListItem struct {
|
||||
ID *bson.ObjectID `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Code string `json:"code"`
|
||||
ShortName string `json:"shortName"`
|
||||
Logo string `json:"logo"`
|
||||
Phone string `json:"phone"`
|
||||
Mobile string `json:"mobile"`
|
||||
Email string `json:"email"`
|
||||
Website string `json:"website"`
|
||||
Address string `json:"address"`
|
||||
Status consts.SupplierStatus `json:"status"`
|
||||
StatusText string `json:"statusText"`
|
||||
Rating float64 `json:"rating"`
|
||||
CreatedAt string `json:"createdAt"`
|
||||
UpdatedAt string `json:"updatedAt"`
|
||||
}
|
||||
Reference in New Issue
Block a user