
- 在 mooc/models/__init__.py 中添加了 part3中数据库表的导入 - 新增了 mooc/crud/crud_goouc_fullexam.py 文件,实现了 goouc_fullexam 相关表的 CRUD 接口 - 添加了 Advert、Banji、Banner 等多个模型类的 CRUD 操作方法
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]
|