Files
chengkai3 6d52f24ef3 [feat]:[FL-206][新增维度管理功能]
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 11:01:16 +08:00

61 lines
1.7 KiB
Python

from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel, Field
class DimensionItemSummary(BaseModel):
id: str
dimension_type: str
code: str
name: str
parent_id: str | None = None
description: str | None = None
is_enabled: bool = True
sort_order: int = 0
create_date: datetime
create_user: str | None = None
update_date: datetime
update_user: str | None = None
class DimensionItemTreeNode(BaseModel):
id: str
dimension_type: str
code: str
name: str
parent_id: str | None = None
description: str | None = None
is_enabled: bool = True
sort_order: int = 0
create_date: datetime
create_user: str | None = None
update_date: datetime
update_user: str | None = None
children: list[DimensionItemTreeNode] = Field(default_factory=list)
class DimensionItemListResponse(BaseModel):
items: list[DimensionItemSummary]
total: int
class DimensionItemCreateRequest(BaseModel):
dimension_type: str = Field(min_length=1, max_length=64)
code: str = Field(min_length=1, max_length=128)
name: str = Field(min_length=1, max_length=255)
parent_id: str | None = None
description: str | None = Field(default=None, max_length=2000)
is_enabled: bool = True
sort_order: int = Field(default=0, ge=0, le=1_000_000)
class DimensionItemUpdateRequest(BaseModel):
code: str | None = Field(default=None, min_length=1, max_length=128)
name: str | None = Field(default=None, min_length=1, max_length=255)
parent_id: str | None = None
description: str | None = Field(default=None, max_length=2000)
is_enabled: bool | None = None
sort_order: int | None = Field(default=None, ge=0, le=1_000_000)