Dockerfile

This commit is contained in:
2026-03-18 10:18:03 +08:00
parent 5c5dbc7420
commit b65f3439f3
189 changed files with 19027 additions and 0 deletions

View 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:"列表"`
}

View 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列表
}

View 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列表
}

View 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"`
}