941 lines
32 KiB
Python
941 lines
32 KiB
Python
![]() |
from pydantic import BaseModel, Field
|
|||
|
from typing import Optional, List
|
|||
|
from datetime import datetime
|
|||
|
from decimal import Decimal
|
|||
|
|
|||
|
|
|||
|
class UserBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
openid: str = Field(..., max_length=255, description="用户标识")
|
|||
|
unionid: Optional[str] = Field(None, max_length=255, description="联合用户标识")
|
|||
|
nickname: Optional[str] = Field(None, max_length=255, description="用户昵称 可保存特殊符号")
|
|||
|
headimg: Optional[str] = Field(None, max_length=255, description="用户头像")
|
|||
|
name: Optional[str] = Field(None, max_length=50, description="用户姓名")
|
|||
|
phone: Optional[str] = Field(None, max_length=11, description="手机号", regex=r"^\d{11}$")
|
|||
|
gradeid: Optional[int] = Field(None, ge=0, description="选择年级ID")
|
|||
|
classid: Optional[int] = Field(None, ge=0, description="参加班级的ID")
|
|||
|
groupid: Optional[int] = Field(None, ge=0, description="群组ID")
|
|||
|
nativeplace: Optional[str] = Field(None, max_length=255, description="籍贯")
|
|||
|
province: Optional[str] = Field(None, max_length=255, description="省")
|
|||
|
city: Optional[str] = Field(None, max_length=255, description="市")
|
|||
|
county: Optional[str] = Field(None, max_length=255, description="县")
|
|||
|
ismember: Optional[int] = Field(2, ge=1, le=2, description="是否是会员 1 是会员 2不是,默认为2")
|
|||
|
password: Optional[str] = Field(None, max_length=255, description="用户登录密码")
|
|||
|
member_endtime: Optional[str] = Field(None, max_length=255, description="会员到期时间")
|
|||
|
status: Optional[int] = Field(1, ge=0, le=1, description="是否拉黑,默认为1")
|
|||
|
last_login_time: int = Field(..., description="最近一次登录时间,Unix 时间戳")
|
|||
|
integral: Optional[int] = Field(0, ge=0, description="用户积分数,默认为0")
|
|||
|
balance: Optional[Decimal] = Field(Decimal('0.00'), ge=0, description="用户余额,默认为0.00")
|
|||
|
qrcode: Optional[str] = Field(None, max_length=255, description="用户二维码路径")
|
|||
|
pid: Optional[int] = Field(0, ge=0, description="用户自己注册 为0 扫描其他人二维码 为二维码人的ID,默认为0")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="是否删除的标识,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
id_card: Optional[str] = Field(None, max_length=255, description="身份证号")
|
|||
|
student_id: Optional[str] = Field(None, max_length=200, description="学号")
|
|||
|
school: Optional[str] = Field(None, max_length=255, description="学校")
|
|||
|
level: Optional[int] = Field(0, ge=0, description="用户等级,默认为0")
|
|||
|
grade: Optional[str] = Field(None, max_length=255, description="年级")
|
|||
|
count_day: Optional[int] = Field(0, ge=0, description="累计天数,默认为0")
|
|||
|
is_band: int = Field(0, ge=0, le=1, description="是否绑定微信 1是0否,默认为0")
|
|||
|
h5_openid: str = Field(..., max_length=255, description="H5 用户标识")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserCreate(UserBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserUpdate(UserBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
openid: Optional[str] = None
|
|||
|
unionid: Optional[str] = None
|
|||
|
nickname: Optional[str] = None
|
|||
|
headimg: Optional[str] = None
|
|||
|
name: Optional[str] = None
|
|||
|
phone: Optional[str] = None
|
|||
|
gradeid: Optional[int] = None
|
|||
|
classid: Optional[int] = None
|
|||
|
groupid: Optional[int] = None
|
|||
|
nativeplace: Optional[str] = None
|
|||
|
province: Optional[str] = None
|
|||
|
city: Optional[str] = None
|
|||
|
county: Optional[str] = None
|
|||
|
ismember: Optional[int] = None
|
|||
|
password: Optional[str] = None
|
|||
|
member_endtime: Optional[str] = None
|
|||
|
status: Optional[int] = None
|
|||
|
last_login_time: Optional[int] = None
|
|||
|
integral: Optional[int] = None
|
|||
|
balance: Optional[Decimal] = None
|
|||
|
qrcode: Optional[str] = None
|
|||
|
pid: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
id_card: Optional[str] = None
|
|||
|
student_id: Optional[str] = None
|
|||
|
school: Optional[str] = None
|
|||
|
level: Optional[int] = None
|
|||
|
grade: Optional[str] = None
|
|||
|
count_day: Optional[int] = None
|
|||
|
is_band: Optional[int] = None
|
|||
|
h5_openid: Optional[str] = None
|
|||
|
|
|||
|
|
|||
|
class UserInDB(UserBase):
|
|||
|
id: int
|
|||
|
last_login_time: Optional[datetime] = Field(None, description="最近一次登录时间")
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.last_login_time, int):
|
|||
|
obj.last_login_time = datetime.fromtimestamp(obj.last_login_time)
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserResponse(UserInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserListResponse(BaseModel):
|
|||
|
data: List[UserResponse]
|
|||
|
|
|||
|
|
|||
|
class UserCollectionPractionBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
testid: int = Field(..., ge=0, description="试题ID")
|
|||
|
test_type: int = Field(..., ge=0, le=255, description="试题类型")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
iscollect: Optional[int] = Field(2, ge=0, le=2, description="是否收藏 1是 2不是,默认为2")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserCollectionPractionCreate(UserCollectionPractionBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserCollectionPractionUpdate(UserCollectionPractionBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
testid: Optional[int] = None
|
|||
|
test_type: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
iscollect: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserCollectionPractionInDB(UserCollectionPractionBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserCollectionPractionResponse(UserCollectionPractionInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserCollectionPractionListResponse(BaseModel):
|
|||
|
data: List[UserCollectionPractionResponse]
|
|||
|
|
|||
|
|
|||
|
class UserDoexamBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
examid: int = Field(..., ge=0, description="已发布的试卷、考试或练习的ID")
|
|||
|
franction: Optional[int] = Field(0, ge=0, description="得分情况,默认为0")
|
|||
|
usetime: str = Field('0', max_length=20, description="考试用时,默认为'0'")
|
|||
|
level: Optional[str] = Field(None, max_length=255, description="级别")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="交卷时间,Unix 时间戳")
|
|||
|
recordid: int = Field(..., ge=0, description="考试记录id")
|
|||
|
evaluation: int = Field(2, ge=1, le=3, description="评阅状态 1已评2未评默认2 3批改中")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserDoexamCreate(UserDoexamBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserDoexamUpdate(UserDoexamBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
examid: Optional[int] = None
|
|||
|
franction: Optional[int] = None
|
|||
|
usetime: Optional[str] = None
|
|||
|
level: Optional[str] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
recordid: Optional[int] = None
|
|||
|
evaluation: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserDoexamInDB(UserDoexamBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="交卷时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserDoexamResponse(UserDoexamInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserDoexamListResponse(BaseModel):
|
|||
|
data: List[UserDoexamResponse]
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
recordid: int = Field(..., ge=0, description="区分是哪一次考试的记录ID")
|
|||
|
franction: Optional[int] = Field(0, ge=0, description="得分情况,默认为0")
|
|||
|
usetime: str = Field('0', max_length=20, description="考试用时,默认为'0'")
|
|||
|
level: Optional[str] = Field(None, max_length=255, description="级别")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="交卷时间,Unix 时间戳")
|
|||
|
type: Optional[int] = Field(None, ge=2, le=3, description="类型 2-优先未做 3-智能考试")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamCreate(UserDoOtherExamBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamUpdate(UserDoOtherExamBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
recordid: Optional[int] = None
|
|||
|
franction: Optional[int] = None
|
|||
|
usetime: Optional[str] = None
|
|||
|
level: Optional[str] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
type: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamInDB(UserDoOtherExamBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="交卷时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamResponse(UserDoOtherExamInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserDoOtherExamListResponse(BaseModel):
|
|||
|
data: List[UserDoOtherExamResponse]
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamAnswerBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
recordid: int = Field(..., ge=0, description="区分是哪一次考试的记录ID")
|
|||
|
testid: int = Field(..., ge=0, description="试题ID")
|
|||
|
test_type: int = Field(..., ge=0, le=255, description="试题类型")
|
|||
|
uanswer: Optional[str] = Field(None, description="用户答案")
|
|||
|
franction: Optional[int] = Field(0, ge=0, description="得分情况,默认为0")
|
|||
|
isright: int = Field(..., ge=0, le=1, description="是否正确")
|
|||
|
ischeck: Optional[int] = Field(1, ge=0, le=1, description="是否批改 默认为已批改")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
type: Optional[int] = Field(None, ge=2, le=3, description="类型 2-优先未做 3-智能考试")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamAnswerCreate(UserDoOtherExamAnswerBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamAnswerUpdate(UserDoOtherExamAnswerBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
recordid: Optional[int] = None
|
|||
|
testid: Optional[int] = None
|
|||
|
test_type: Optional[int] = None
|
|||
|
uanswer: Optional[str] = None
|
|||
|
franction: Optional[int] = None
|
|||
|
isright: Optional[int] = None
|
|||
|
ischeck: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
type: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamAnswerInDB(UserDoOtherExamAnswerBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserDoOtherExamAnswerResponse(UserDoOtherExamAnswerInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserDoOtherExamAnswerListResponse(BaseModel):
|
|||
|
data: List[UserDoOtherExamAnswerResponse]
|
|||
|
|
|||
|
|
|||
|
class UserExamAnswerBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
examid: int = Field(..., ge=0, description="已发布的试卷、考试或练习的ID")
|
|||
|
testid: int = Field(..., ge=0, description="试题ID")
|
|||
|
test_type: int = Field(..., ge=0, le=255, description="试题类型")
|
|||
|
uanswer: Optional[str] = Field(None, description="用户答案")
|
|||
|
franction: Optional[int] = Field(0, ge=0, description="得分情况,默认为0")
|
|||
|
isright: int = Field(..., ge=0, le=1, description="是否正确")
|
|||
|
ischeck: Optional[int] = Field(1, ge=0, le=1, description="是否批改 默认为已批改")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
recordid: Optional[int] = Field(None, ge=0, description="考试记录id")
|
|||
|
type: Optional[int] = Field(None, ge=1, le=1, description="类型只有1-全真")
|
|||
|
simple_score: Optional[int] = Field(None, ge=0, description="简答题评分")
|
|||
|
comments: str = Field(..., description="简答题评语")
|
|||
|
simple_evaluation: int = Field(2, ge=1, le=3, description="简答题评阅状态 1已批改默认2未3批改中")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserExamAnswerCreate(UserExamAnswerBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserExamAnswerUpdate(UserExamAnswerBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
examid: Optional[int] = None
|
|||
|
testid: Optional[int] = None
|
|||
|
test_type: Optional[int] = None
|
|||
|
uanswer: Optional[str] = None
|
|||
|
franction: Optional[int] = None
|
|||
|
isright: Optional[int] = None
|
|||
|
ischeck: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
recordid: Optional[int] = None
|
|||
|
type: Optional[int] = None
|
|||
|
simple_score: Optional[int] = None
|
|||
|
comments: Optional[str] = None
|
|||
|
simple_evaluation: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserExamAnswerInDB(UserExamAnswerBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserExamAnswerResponse(UserExamAnswerInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserExamAnswerListResponse(BaseModel):
|
|||
|
data: List[UserExamAnswerResponse]
|
|||
|
|
|||
|
|
|||
|
class UserFormidBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
formid: str = Field(..., max_length=255, description="表单ID")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserFormidCreate(UserFormidBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserFormidUpdate(UserFormidBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
formid: Optional[str] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserFormidInDB(UserFormidBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserFormidResponse(UserFormidInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserFormidListResponse(BaseModel):
|
|||
|
data: List[UserFormidResponse]
|
|||
|
|
|||
|
|
|||
|
class UserGiftBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
giftid: int = Field(..., ge=0, description="礼品ID")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
status: Optional[int] = Field(0, ge=0, le=255, description="状态,默认为0")
|
|||
|
updatetime: Optional[int] = Field(None, description="更新时间,Unix 时间戳")
|
|||
|
consignee_name: Optional[str] = Field(None, max_length=255, description="收货人姓名")
|
|||
|
consignee_phone: Optional[str] = Field(None, max_length=255, description="收货人电话")
|
|||
|
consignee_address: Optional[str] = Field(None, max_length=255, description="收货人地址")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserGiftCreate(UserGiftBase):
|
|||
|
pass # 如果创建时需要额外字段或默认值不同,可以在这里添加
|
|||
|
|
|||
|
|
|||
|
class UserGiftUpdate(UserGiftBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
giftid: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
status: Optional[int] = None
|
|||
|
updatetime: Optional[int] = None
|
|||
|
consignee_name: Optional[str] = None
|
|||
|
consignee_phone: Optional[str] = None
|
|||
|
consignee_address: Optional[str] = None
|
|||
|
|
|||
|
|
|||
|
class UserGiftInDB(UserGiftBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
updatetime: Optional[datetime] = Field(None, description="更新时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
if isinstance(obj.updatetime, int) and obj.updatetime is not None:
|
|||
|
obj.updatetime = datetime.fromtimestamp(obj.updatetime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserGiftResponse(UserGiftInDB):
|
|||
|
pass # 可以根据需要添加额外的字段或调整现有字段
|
|||
|
|
|||
|
|
|||
|
# 用于批量操作的模型
|
|||
|
class UserGiftListResponse(BaseModel):
|
|||
|
data: List[UserGiftResponse]
|
|||
|
|
|||
|
|
|||
|
class UserKnowledgeCateBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(0, ge=0, description="用户ID")
|
|||
|
cate: Optional[int] = Field(0, ge=0, description="知识点ID")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="是否删除的标识,默认为1")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserKnowledgeCateCreate(UserKnowledgeCateBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserKnowledgeCateUpdate(UserKnowledgeCateBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
cate: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserKnowledgeCateInDB(UserKnowledgeCateBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserKnowledgeCateResponse(UserKnowledgeCateInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserKnowledgeCateListResponse(BaseModel):
|
|||
|
data: List[UserKnowledgeCateResponse]
|
|||
|
|
|||
|
|
|||
|
class UserMemberBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
status: Optional[int] = Field(2, ge=0, le=2, description="是否开启购买会员,默认为2")
|
|||
|
scale: Decimal = Field(Decimal('1.00'), ge=0, le=1, description="折扣比例,默认为1.00")
|
|||
|
info: Optional[str] = Field(None, description="详细信息")
|
|||
|
price: Decimal = Field(Decimal('0.00'), ge=0, description="VIP单月价格,默认为0.00")
|
|||
|
istui: Optional[int] = Field(0, ge=0, description="推荐购买的,默认为0")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserMemberCreate(UserMemberBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserMemberUpdate(UserMemberBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
status: Optional[int] = None
|
|||
|
scale: Optional[Decimal] = None
|
|||
|
info: Optional[str] = None
|
|||
|
price: Optional[Decimal] = None
|
|||
|
istui: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserMemberInDB(UserMemberBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserMemberResponse(UserMemberInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserMemberListResponse(BaseModel):
|
|||
|
data: List[UserMemberResponse]
|
|||
|
|
|||
|
|
|||
|
class UserPoolBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(0, ge=0, description="用户ID")
|
|||
|
poolid: Optional[int] = Field(0, ge=0, description="题库ID")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="是否删除的标识,默认为1")
|
|||
|
paperid: int = Field(0, ge=0, description="试卷id")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserPoolCreate(UserPoolBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserPoolUpdate(UserPoolBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
poolid: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
paperid: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserPoolInDB(UserPoolBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserPoolResponse(UserPoolInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserPoolListResponse(BaseModel):
|
|||
|
data: List[UserPoolResponse]
|
|||
|
|
|||
|
|
|||
|
class UserQHighBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
user_id: int = Field(..., ge=0, description="用户ID")
|
|||
|
question_id: int = Field(..., ge=0, description="试题ID")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
create_time: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserQHighCreate(UserQHighBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserQHighUpdate(UserQHighBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
user_id: Optional[int] = None
|
|||
|
question_id: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
create_time: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserQHighInDB(UserQHighBase):
|
|||
|
id: int
|
|||
|
create_time: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.create_time, int):
|
|||
|
obj.create_time = datetime.fromtimestamp(obj.create_time)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserQHighResponse(UserQHighInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserQHighListResponse(BaseModel):
|
|||
|
data: List[UserQHighResponse]
|
|||
|
|
|||
|
|
|||
|
class UserQIntensiveBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
user_id: int = Field(..., ge=0, description="用户ID")
|
|||
|
question_id: int = Field(..., ge=0, description="试题ID")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
create_time: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserQIntensiveCreate(UserQIntensiveBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserQIntensiveUpdate(UserQIntensiveBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
user_id: Optional[int] = None
|
|||
|
question_id: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
create_time: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserQIntensiveInDB(UserQIntensiveBase):
|
|||
|
id: int
|
|||
|
create_time: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.create_time, int):
|
|||
|
obj.create_time = datetime.fromtimestamp(obj.create_time)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserQIntensiveResponse(UserQIntensiveInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserQIntensiveListResponse(BaseModel):
|
|||
|
data: List[UserQIntensiveResponse]
|
|||
|
|
|||
|
|
|||
|
class UserQTypeBase(BaseModel):
|
|||
|
weid: Optional[int] = Field(0, ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
type_id: int = Field(..., ge=0, description="题型ID")
|
|||
|
last_id: Optional[int] = Field(None, ge=0, description="最后退出时的题目ID")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=255, description="删除状态,默认为1")
|
|||
|
createtime: Optional[int] = Field(None, description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserQTypeCreate(UserQTypeBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserQTypeUpdate(UserQTypeBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
type_id: Optional[int] = None
|
|||
|
last_id: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserQTypeInDB(UserQTypeBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int) and obj.createtime is not None:
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserQTypeResponse(UserQTypeInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserQTypeListResponse(BaseModel):
|
|||
|
data: List[UserQTypeResponse]
|
|||
|
|
|||
|
|
|||
|
class UserReadBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
noticeid: int = Field(..., ge=0, description="公告/活动/文章ID")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserReadCreate(UserReadBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserReadUpdate(UserReadBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
noticeid: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserReadInDB(UserReadBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserReadResponse(UserReadInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserReadListResponse(BaseModel):
|
|||
|
data: List[UserReadResponse]
|
|||
|
|
|||
|
|
|||
|
class UserSpecialBase(BaseModel):
|
|||
|
weid: Optional[int] = Field(0, ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
special_id: int = Field(..., ge=0, description="特殊ID")
|
|||
|
last_id: Optional[int] = Field(None, ge=0, description="最后退出时的题目ID")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=255, description="删除状态,默认为1")
|
|||
|
createtime: Optional[int] = Field(None, description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserSpecialCreate(UserSpecialBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserSpecialUpdate(UserSpecialBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
special_id: Optional[int] = None
|
|||
|
last_id: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserSpecialInDB(UserSpecialBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int) and obj.createtime is not None:
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserSpecialResponse(UserSpecialInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserSpecialListResponse(BaseModel):
|
|||
|
data: List[UserSpecialResponse]
|
|||
|
|
|||
|
|
|||
|
class UserSpequenceBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
user_id: int = Field(..., ge=0, description="用户ID")
|
|||
|
question_id: int = Field(..., ge=0, description="下标ID,这儿是顺序id")
|
|||
|
lib_id: Optional[int] = Field(None, ge=0, description="题库id")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
create_time: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserSpequenceCreate(UserSpequenceBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserSpequenceUpdate(UserSpequenceBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
user_id: Optional[int] = None
|
|||
|
question_id: Optional[int] = None
|
|||
|
lib_id: Optional[int] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
create_time: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserSpequenceInDB(UserSpequenceBase):
|
|||
|
id: int
|
|||
|
create_time: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.create_time, int):
|
|||
|
obj.create_time = datetime.fromtimestamp(obj.create_time)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserSpequenceResponse(UserSpequenceInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserSpequenceListResponse(BaseModel):
|
|||
|
data: List[UserSpequenceResponse]
|
|||
|
|
|||
|
|
|||
|
class UserWrongPractionBase(BaseModel):
|
|||
|
weid: int = Field(..., ge=0, description="站点 ID")
|
|||
|
uid: int = Field(..., ge=0, description="用户ID")
|
|||
|
testid: int = Field(..., ge=0, description="试题ID")
|
|||
|
test_type: int = Field(..., ge=0, le=255, description="试题类型")
|
|||
|
uanswer: Optional[str] = Field(None, description="用户答案")
|
|||
|
istatus: Optional[int] = Field(1, ge=0, le=1, description="删除状态,默认为1")
|
|||
|
createtime: int = Field(..., description="创建时间,Unix 时间戳")
|
|||
|
iscollect: Optional[int] = Field(2, ge=0, le=2, description="是否收藏,默认为2")
|
|||
|
|
|||
|
class Config:
|
|||
|
orm_mode = True
|
|||
|
|
|||
|
|
|||
|
class UserWrongPractionCreate(UserWrongPractionBase):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserWrongPractionUpdate(UserWrongPractionBase):
|
|||
|
weid: Optional[int] = None
|
|||
|
uid: Optional[int] = None
|
|||
|
testid: Optional[int] = None
|
|||
|
test_type: Optional[int] = None
|
|||
|
uanswer: Optional[str] = None
|
|||
|
istatus: Optional[int] = None
|
|||
|
createtime: Optional[int] = None
|
|||
|
iscollect: Optional[int] = None
|
|||
|
|
|||
|
|
|||
|
class UserWrongPractionInDB(UserWrongPractionBase):
|
|||
|
id: int
|
|||
|
createtime: Optional[datetime] = Field(None, description="创建时间")
|
|||
|
|
|||
|
@classmethod
|
|||
|
def from_orm(cls, obj):
|
|||
|
if isinstance(obj.createtime, int):
|
|||
|
obj.createtime = datetime.fromtimestamp(obj.createtime)
|
|||
|
return super().from_orm(obj)
|
|||
|
|
|||
|
|
|||
|
class UserWrongPractionResponse(UserWrongPractionInDB):
|
|||
|
pass
|
|||
|
|
|||
|
|
|||
|
class UserWrongPractionListResponse(BaseModel):
|
|||
|
data: List[UserWrongPractionResponse]
|