upload project source code
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class GoodNameItem(BaseModel):
|
||||
"""佳名赏析项(简化版,用于列表展示)"""
|
||||
name: str = Field(..., description="名字")
|
||||
source: str = Field(..., description="出处")
|
||||
desc: str = Field(..., description="原文/释义")
|
||||
|
||||
|
||||
class NameRecordCreate(BaseModel):
|
||||
"""创建起名记录"""
|
||||
name: str = Field(..., max_length=50, description="起的名字")
|
||||
surname: Optional[str] = Field(None, max_length=20, description="姓氏")
|
||||
full_name: Optional[str] = Field(None, max_length=70, description="完整姓名")
|
||||
source: Optional[str] = Field(None, max_length=100, description="出处")
|
||||
source_text: Optional[str] = Field(None, description="原文/出处原句")
|
||||
meaning: Optional[str] = Field(None, description="名字含义/寓意")
|
||||
gender: Optional[int] = Field(0, description="性别(0:未知 1:男 2:女)")
|
||||
birth_year: Optional[int] = Field(None, description="出生年份")
|
||||
birth_month: Optional[int] = Field(None, ge=1, le=12, description="出生月份")
|
||||
birth_day: Optional[int] = Field(None, ge=1, le=31, description="出生日期")
|
||||
birth_hour: Optional[int] = Field(None, ge=0, le=23, description="出生时辰")
|
||||
lunar_birth: Optional[str] = Field(None, max_length=50, description="农历生日")
|
||||
wuxing: Optional[str] = Field(None, max_length=20, description="五行属性")
|
||||
bazi: Optional[str] = Field(None, max_length=50, description="八字")
|
||||
wuxing_lack: Optional[str] = Field(None, max_length=20, description="五行缺失")
|
||||
name_type: Optional[int] = Field(1, description="起名类型(1:宝宝起名 2:成人改名 3:公司起名 4:店铺起名)")
|
||||
score: Optional[int] = Field(None, ge=0, le=100, description="名字评分")
|
||||
score_detail: Optional[str] = Field(None, description="评分详情(JSON)")
|
||||
channel: Optional[str] = Field(None, max_length=50, description="来源渠道")
|
||||
|
||||
|
||||
class NameRecordUpdate(BaseModel):
|
||||
"""更新起名记录"""
|
||||
name: Optional[str] = Field(None, max_length=50)
|
||||
surname: Optional[str] = Field(None, max_length=20)
|
||||
full_name: Optional[str] = Field(None, max_length=70)
|
||||
source: Optional[str] = Field(None, max_length=100)
|
||||
source_text: Optional[str] = None
|
||||
meaning: Optional[str] = None
|
||||
is_favorite: Optional[int] = Field(None, description="是否收藏(0:否 1:是)")
|
||||
is_used: Optional[int] = Field(None, description="是否已使用(0:否 1:是)")
|
||||
|
||||
|
||||
class NameRecordOut(BaseModel):
|
||||
"""起名记录输出"""
|
||||
id: int
|
||||
name: str
|
||||
surname: Optional[str] = None
|
||||
full_name: Optional[str] = None
|
||||
source: Optional[str] = None
|
||||
source_text: Optional[str] = None
|
||||
meaning: Optional[str] = None
|
||||
gender: Optional[int] = None
|
||||
birth_year: Optional[int] = None
|
||||
birth_month: Optional[int] = None
|
||||
birth_day: Optional[int] = None
|
||||
lunar_birth: Optional[str] = None
|
||||
wuxing: Optional[str] = None
|
||||
bazi: Optional[str] = None
|
||||
wuxing_lack: Optional[str] = None
|
||||
name_type: Optional[int] = None
|
||||
score: Optional[int] = None
|
||||
is_favorite: int = 0
|
||||
is_used: int = 0
|
||||
created_time: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
Reference in New Issue
Block a user