daily/Schemas/DailySchemas.py

135 lines
3.1 KiB
Python

from enum import Enum, unique
from typing import Optional, List, Union, Any
from pydantic import BaseModel
from datetime import datetime, date
from Schemas.UserSchemas import UserInfo
@unique
class DailyTypeEnum(Enum):
董监高日报 = "董监高日报"
运行日报 = "运行日报"
部门子公司日报 = "部门子公司日报"
监管和同业动态 = "监管和同业动态"
行业信息专题分析 = "行业信息专题分析"
# 经营情况 = "经营情况"
财务营收 = "财务营收"
动态 = "动态"
class DailyExportToPdfReq(BaseModel):
day: date
class CommentInfo(BaseModel):
id: Optional[int]
daily_id: Optional[int]
user_email: Optional[str]
content: Optional[str]
user: Optional[UserInfo]
create_time: Optional[datetime]
class DailyInfo(BaseModel):
id: Optional[int]
type: Optional[DailyTypeEnum]
fill_user: Optional[str]
sign_name: Optional[str]
title: Optional[str]
department: Optional[int]
user: Optional[UserInfo]
required_auth: Optional[str]
post: Optional[int]
content: Optional[str]
file_md: Optional[str]
sub_type: Optional[str]
comments: Optional[List[CommentInfo]]
daily_time: Optional[datetime]
create_time: Optional[datetime]
update_time: Optional[datetime]
class DailyGetReq(BaseModel):
id: int
pass
class DailyGetRes(DailyInfo):
pass
class DailyChangeReq(BaseModel):
id: int
type: Optional[DailyTypeEnum]
fill_user: Optional[str]
sign_name: Optional[str]
title: Optional[str]
department: Optional[int]
required_auth: Optional[str]
post: Optional[int]
content: Optional[str]
sub_type: Optional[str]
daily_time: Optional[datetime]
file_md: Optional[str]
create_time: Optional[datetime]
update_time: Optional[datetime]
class DailyChangeRes(DailyInfo):
pass
class DailyQuery(BaseModel):
id: Optional[int]
type: Optional[DailyTypeEnum]
fill_user: Optional[str]
sign_name: Optional[str]
# name: Optional[str]
title: Optional[str]
# department_list: Optional[int]
department: Optional[Union[int, List[int]]]
required_auth: Optional[Union[int, List[int]]]
post: Optional[int]
content: Optional[str]
daily_time: Optional[Union[List[Union[int, None]],Any]]
create_time: Optional[List[Union[int, None]]]
update_time: Optional[List[Union[int, None]]]
sub_type: Optional[str]
page_size: Optional[int]
page: Optional[int]
fill_user_name:Optional[str]
class DailyQueryRes(BaseModel):
items: List[DailyInfo]
count: int
pass
class DailyAddReq(BaseModel):
type: DailyTypeEnum
fill_user: Optional[str]
department: Optional[int]
required_auth: Optional[str]
sign_name: Optional[str]
content: Optional[str]
post: Optional[int]
daily_time: Optional[datetime]
sub_type: Optional[str]
file_md: Optional[str]
title: Optional[str]
class DailyAddRes(DailyInfo):
pass
class DailyDeleteReq(BaseModel):
id: int
class DailyDeleteRes(BaseModel):
msg: str
state: int