feat(market): 新增 MyMaterialUsageQuery schema

- 新增 MyMaterialUsageQuery 查询参数 schema
- 新增 MaterialUsageResponse 响应 schema(含 requisitionStatus 字段)
- 新增 MyMaterialUsageListResponse 列表响应 schema

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-06-15 13:56:53 +08:00
1 parent 31b04575e2
commit c4a6ecfd7d
2 files changed
+67

No files matched your search

+9
View File
@@ -195,6 +195,11 @@ from app.schemas.delivery import (
DeliveryAttachmentResponse,
DeliveryCompleteRequest
)
from app.schemas.material import (
MyMaterialUsageQuery,
MaterialUsageResponse,
MyMaterialUsageListResponse
)
__all__ = [
"PaginationParams",
@@ -349,4 +354,8 @@ __all__ = [
"ProductReviewMediaUpdate",
"ProductReviewMediaResponse",
"ProductReviewMediaListResponse",
# 市场物料
"MyMaterialUsageQuery",
"MaterialUsageResponse",
"MyMaterialUsageListResponse",
]
+58
View File
@@ -0,0 +1,58 @@
"""Pydantic schemas - 市场物料管理"""
from pydantic import BaseModel, Field
from typing import Optional, List
from datetime import datetime
class MyMaterialUsageQuery(BaseModel):
"""我的物料领用记录查询参数"""
keyword: Optional[str] = Field(None, description="关键词搜索")
material_id: Optional[str] = Field(None, description="物料ID")
material_type: Optional[str] = Field(None, description="物料类型")
change_type: Optional[str] = Field(None, description="变动类型")
start_time: Optional[str] = Field(None, description="开始日期 YYYY-MM-DD")
end_time: Optional[str] = Field(None, description="结束日期 YYYY-MM-DD")
class MaterialUsageResponse(BaseModel):
"""物料领用记录响应"""
id: str
materialId: Optional[str] = None
materialCode: Optional[str] = None
materialName: Optional[str] = None
batchId: Optional[str] = None
stockInNo: Optional[str] = None
stockInDate: Optional[str] = None
catalogNo: Optional[str] = None
batchNo: Optional[str] = None
manufacturer: Optional[str] = None
unitPrice: Optional[float] = None
amount: Optional[float] = None
changeType: Optional[str] = None
changeQty: Optional[float] = None
usageUnit: Optional[str] = None
stockBefore: Optional[float] = None
stockAfter: Optional[float] = None
receiver: Optional[str] = None
receiverName: Optional[str] = None
purpose: Optional[str] = None
sourceType: Optional[str] = None
requisitionStatus: Optional[str] = Field(None, description="领用状态: open/closed")
useTime: Optional[str] = None
remark: Optional[str] = None
createBy: Optional[str] = None
createByName: Optional[str] = None
createTime: Optional[str] = None
updateTime: Optional[str] = None
class Config:
from_attributes = True
class MyMaterialUsageListResponse(BaseModel):
"""我的物料领用记录列表响应"""
items: List[MaterialUsageResponse]
total: int
page: int
pageSize: int
totalPages: int