Program/mooc/schemas/goouc_fullexam_user.py

941 lines
32 KiB
Python
Raw Normal View History

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]