fix:优化数据
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from datetime import datetime
|
||||
from datetime import date, datetime
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
@@ -7,6 +7,7 @@ from pydantic import BaseModel, Field
|
||||
class CustomerBase(BaseModel):
|
||||
name: str = Field(..., description="Customer name")
|
||||
contact_info: Optional[str] = Field(None, description="Contact information")
|
||||
tags: Optional[str] = Field(None, description="Comma-separated tags, e.g. 重点客户,已签约")
|
||||
|
||||
|
||||
class CustomerCreate(CustomerBase):
|
||||
@@ -16,6 +17,7 @@ class CustomerCreate(CustomerBase):
|
||||
class CustomerUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
contact_info: Optional[str] = None
|
||||
tags: Optional[str] = None
|
||||
|
||||
|
||||
class CustomerRead(CustomerBase):
|
||||
@@ -33,12 +35,14 @@ class ProjectRead(BaseModel):
|
||||
ai_solution_md: Optional[str] = None
|
||||
status: str
|
||||
created_at: datetime
|
||||
customer: Optional[CustomerRead] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class ProjectUpdate(BaseModel):
|
||||
raw_requirement: Optional[str] = None
|
||||
ai_solution_md: Optional[str] = None
|
||||
status: Optional[str] = None
|
||||
|
||||
@@ -75,6 +79,17 @@ class ContractGenerateResponse(BaseModel):
|
||||
contract_path: str
|
||||
|
||||
|
||||
class PushToCloudRequest(BaseModel):
|
||||
platform: str = Field(..., description="feishu | yuque | tencent")
|
||||
title: Optional[str] = Field(None, description="文档标题,默认使用「项目方案 - 项目#id」")
|
||||
body_md: Optional[str] = Field(None, description="要推送的 Markdown 内容,不传则使用项目已保存的方案")
|
||||
|
||||
|
||||
class PushToCloudResponse(BaseModel):
|
||||
url: str
|
||||
cloud_doc_id: str
|
||||
|
||||
|
||||
class FinanceSyncResult(BaseModel):
|
||||
id: int
|
||||
month: str
|
||||
@@ -84,5 +99,40 @@ class FinanceSyncResult(BaseModel):
|
||||
|
||||
|
||||
class FinanceSyncResponse(BaseModel):
|
||||
items: List[FinanceSyncResult]
|
||||
status: str = "success"
|
||||
new_files: int = 0
|
||||
details: List[FinanceSyncResult] = Field(default_factory=list)
|
||||
|
||||
|
||||
class FinanceRecordRead(BaseModel):
|
||||
id: int
|
||||
month: str
|
||||
type: str
|
||||
file_name: str
|
||||
file_path: str
|
||||
amount: Optional[float] = None
|
||||
billing_date: Optional[date] = None
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class FinanceRecordUpdate(BaseModel):
|
||||
amount: Optional[float] = None
|
||||
billing_date: Optional[date] = None
|
||||
|
||||
|
||||
class FinanceUploadResponse(BaseModel):
|
||||
id: int
|
||||
month: str
|
||||
type: str
|
||||
file_name: str
|
||||
file_path: str
|
||||
amount: Optional[float] = None
|
||||
billing_date: Optional[date] = None
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user