feat(mooc): 重构代码并添加新功能
- 添加了新的 Watermark、WxTpl 和 Xuesheng 模型及相应的 CRUD 类 - 新增了 goouc_fullexam_user 相关的模型和 CRUD 类 - 检查原有crud对应id,并手动修改
This commit is contained in:
parent
3ed18a297e
commit
1df5aefac3
@ -5,7 +5,7 @@ from mooc.crud.crud_base import CRUDBase
|
||||
from mooc.models.goouc_fullexam import (Advert, Banji, Banner, Category, Cdkey, CdkeyCate, Cdkeys, Exercise, Feedback,
|
||||
Gift, IndexBtn, Knowledge, KnowledgeCate, Notice, Order, Paper, PaperTest,
|
||||
Phonecode, QYear, School, Setting, ShareRecord, SonSimple, Test, TestType,
|
||||
TypeCate,
|
||||
TypeCate, Watermark, Wxtpl, Xuesheng
|
||||
)
|
||||
from mooc.schemas.goouc_fullexam import (AdvertUpdate, AdvertCreate, BanjiUpdate, BanjiCreate, BannerCreate,
|
||||
BannerUpdate, CategoryCreate, CategoryUpdate, CdkeyCreate, CdkeyUpdate,
|
||||
@ -18,165 +18,154 @@ from mooc.schemas.goouc_fullexam import (AdvertUpdate, AdvertCreate, BanjiUpdate
|
||||
QYearCreate, QYearUpdate, SchoolCreate, SchoolUpdate, SettingCreate,
|
||||
SettingUpdate, ShareRecordCreate, ShareRecordUpdate, SonSimpleCreate,
|
||||
SonSimpleUpdate, TestCreate, TestUpdate, TestTypeCreate, TestTypeUpdate,
|
||||
WatermarkCreate, WatermarkUpdate, WxTplCreate, WxTplUpdate,
|
||||
XueshengCreate, XueshengUpdate
|
||||
)
|
||||
|
||||
|
||||
class CRUDAdvert(CRUDBase[Advert, AdvertCreate, AdvertUpdate]):
|
||||
|
||||
def get_advert(self, db: Session, admin_id: int) -> Optional[Advert]:
|
||||
return self.get_by_field(db, "id", admin_id)
|
||||
|
||||
|
||||
class CRUDBanji(CRUDBase[Banji, BanjiCreate, BanjiUpdate]):
|
||||
|
||||
def get_banji(self, db: Session, banji_id: int) -> Optional[Banji]:
|
||||
return self.get_by_field(db, "banji_id", banji_id)
|
||||
|
||||
|
||||
class CRUDBanner(CRUDBase[Banner, BannerCreate, BannerUpdate]):
|
||||
|
||||
def get_banner(self, db: Session, banner_id: int):
|
||||
return self.get_by_field(db, "banner_id", banner_id)
|
||||
return self.get_by_field(db, "id", banner_id)
|
||||
|
||||
|
||||
class CRUDCategory(CRUDBase[Category, CategoryCreate, CategoryUpdate]):
|
||||
|
||||
def get_category(self, db: Session, category_id: int):
|
||||
return self.get_by_field(db, "category_id", category_id)
|
||||
return self.get_by_field(db, "id", category_id)
|
||||
|
||||
|
||||
class CRUDCdkey(CRUDBase[Cdkey, CdkeyCreate, CdkeyUpdate]):
|
||||
|
||||
def get_cdkey(self, db: Session, cdkey_id: int):
|
||||
return self.get_by_field(db, "cdkey_id", cdkey_id)
|
||||
return self.get_by_field(db, "id", cdkey_id)
|
||||
|
||||
|
||||
class CRUDCdkeyCate(CRUDBase[CdkeyCate, CdkeyCateCreate, CdkeyCateUpdate]):
|
||||
|
||||
def get_cdkey_cate(self, db: Session, cdkey_cate_id: int):
|
||||
return self.get_by_field(db, "cdkey_cate_id", cdkey_cate_id)
|
||||
return self.get_by_field(db, "id", cdkey_cate_id)
|
||||
|
||||
|
||||
class CRUDCdkeys(CRUDBase[Cdkeys, CdkeysCreate, CdkeysUpdate]):
|
||||
|
||||
def get_cdkeys(self, db: Session, cdkeys_id: int):
|
||||
return self.get_by_field(db, "cdkeys_id", cdkeys_id)
|
||||
return self.get_by_field(db, "id", cdkeys_id)
|
||||
|
||||
|
||||
class CRUDExercise(CRUDBase[Exercise, ExerciseCreate, ExerciseUpdate]):
|
||||
|
||||
def get_exercise(self, db: Session, exercise_id: int):
|
||||
return self.get_by_field(db, "exercise_id", exercise_id)
|
||||
return self.get_by_field(db, "id", exercise_id)
|
||||
|
||||
|
||||
class CRUDFeedback(CRUDBase[Feedback, FeedbackCreate, FeedbackUpdate]):
|
||||
|
||||
def get_feedback(self, db: Session, feedback_id: int):
|
||||
return self.get_by_field(db, "feedback_id", feedback_id)
|
||||
return self.get_by_field(db, "id", feedback_id)
|
||||
|
||||
|
||||
class CRUDGift(CRUDBase[Gift, GiftCreate, GiftUpdate]):
|
||||
|
||||
def get_gift(self, db: Session, gift_id: int):
|
||||
return self.get_by_field(db, "gift_id", gift_id)
|
||||
return self.get_by_field(db, "id", gift_id)
|
||||
|
||||
|
||||
class CRUDIndexBtn(CRUDBase[IndexBtn, IndexBtnCreate, IndexBtnUpdate]):
|
||||
|
||||
def get_index_btn(self, db: Session, index_btn_id: int):
|
||||
return self.get_by_field(db, "index_btn_id", index_btn_id)
|
||||
return self.get_by_field(db, "id", index_btn_id)
|
||||
|
||||
|
||||
class CRUDKnowledge(CRUDBase[Knowledge, KnowledgeCreate, KnowledgeUpdate]):
|
||||
|
||||
def get_knowledge(self, db: Session, knowledge_id: int):
|
||||
return self.get_by_field(db, "knowledge_id", knowledge_id)
|
||||
|
||||
|
||||
class CRUDKnowledgeCate(
|
||||
CRUDBase[KnowledgeCate, KnowledgeCateCreate, KnowledgeCateUpdate]
|
||||
):
|
||||
|
||||
class CRUDKnowledgeCate(CRUDBase[KnowledgeCate, KnowledgeCateCreate, KnowledgeCateUpdate]):
|
||||
def get_knowledge_cate(self, db: Session, knowledge_cate_id: int):
|
||||
return self.get_by_field(db, "knowledge_cate_id", knowledge_cate_id)
|
||||
return self.get_by_field(db, "id", knowledge_cate_id)
|
||||
|
||||
|
||||
class CRUDNotice(CRUDBase[Notice, NoticeCreate, NoticeUpdate]):
|
||||
|
||||
def get_notice(self, db: Session, notice_id: int):
|
||||
return self.get_by_field(db, "notice_id", notice_id)
|
||||
return self.get_by_field(db, "id", notice_id)
|
||||
|
||||
|
||||
class CRUDOrder(CRUDBase[Order, OrderCreate, OrderUpdate]):
|
||||
|
||||
def get_order(self, db: Session, order_id: int):
|
||||
return self.get_by_field(db, "order_id", order_id)
|
||||
return self.get_by_field(db, "id", order_id)
|
||||
|
||||
|
||||
class CRUDPaper(CRUDBase[Paper, PaperCreate, PaperUpdate]):
|
||||
|
||||
def get_paper(self, db: Session, paper_id: int):
|
||||
return self.get_by_field(db, "paper_id", paper_id)
|
||||
return self.get_by_field(db, "id", paper_id)
|
||||
|
||||
|
||||
class CRUDPaperTest(CRUDBase[PaperTest, PaperTestCreate, PaperTestUpdate]):
|
||||
|
||||
def get_paper_test(self, db: Session, paper_test_id: int):
|
||||
return self.get_by_field(db, "paper_test_id", paper_test_id)
|
||||
return self.get_by_field(db, "id", paper_test_id)
|
||||
|
||||
|
||||
class CRUDPhonecode(CRUDBase[Phonecode, PhoneCodeCreate, PhoneCodeUpdate]):
|
||||
|
||||
def get_phonecode(self, db: Session, phonecode_id: int):
|
||||
return self.get_by_field(db, "phonecode_id", phonecode_id)
|
||||
return self.get_by_field(db, "id", phonecode_id)
|
||||
|
||||
|
||||
class CRUDQYear(CRUDBase[QYear, QYearCreate, QYearUpdate]):
|
||||
|
||||
def get_qyear(self, db: Session, qyear_id: int):
|
||||
return self.get_by_field(db, "qyear_id", qyear_id)
|
||||
return self.get_by_field(db, "id", qyear_id)
|
||||
|
||||
|
||||
class CRUDSchool(CRUDBase[School, SchoolCreate, SchoolUpdate]):
|
||||
|
||||
def get_school(self, db: Session, school_id: int):
|
||||
return self.get_by_field(db, "school_id", school_id)
|
||||
|
||||
|
||||
class CRUDSetting(CRUDBase[Setting, SettingCreate, SettingUpdate]):
|
||||
|
||||
def get_setting(self, db: Session, setting_id: int):
|
||||
return self.get_by_field(db, "setting_id", setting_id)
|
||||
return self.get_by_field(db, "id", setting_id)
|
||||
|
||||
|
||||
class CRUDShareRecord(CRUDBase[ShareRecord, ShareRecordCreate, ShareRecordUpdate]):
|
||||
|
||||
def get_share_record(self, db: Session, share_record_id: int):
|
||||
return self.get_by_field(db, "share_record_id", share_record_id)
|
||||
return self.get_by_field(db, "id", share_record_id)
|
||||
|
||||
|
||||
class CRUDsonSimple(CRUDBase[SonSimple, SonSimpleCreate, SonSimpleUpdate]):
|
||||
|
||||
def get_son_simple(self, db: Session, son_simple_id: int):
|
||||
return self.get_by_field(db, "son_simple_id", son_simple_id)
|
||||
return self.get_by_field(db, "id", son_simple_id)
|
||||
|
||||
|
||||
class CRUDTest(CRUDBase[Test, TestCreate, TestUpdate]):
|
||||
|
||||
def get_test(self, db: Session, test_id: int):
|
||||
return self.get_by_field(db, "test_id", test_id)
|
||||
|
||||
|
||||
class CRUDTestType(CRUDBase[TestType, TestTypeCreate, TestTypeUpdate]):
|
||||
|
||||
def get_test_type(self, db: Session, test_type_id: int):
|
||||
return self.get_by_field(db, "test_type_id", test_type_id)
|
||||
return self.get_by_field(db, "id", test_type_id)
|
||||
|
||||
|
||||
class CRUDTypeCate(CRUDBase[TypeCate, TypeCateCreate, TypeCateUpdate]):
|
||||
|
||||
def get_type_cate(self, db: Session, type_cate_id: int):
|
||||
return self.get
|
||||
return self.get_by_field(db, "id", type_cate_id)
|
||||
|
||||
|
||||
class CRUDWatermark(CRUDBase[Watermark, WatermarkCreate, WatermarkUpdate]):
|
||||
def get_watermark(self, db: Session, watermark_id: int):
|
||||
return self.get_by_field(db, "id", watermark_id)
|
||||
|
||||
|
||||
class CRUDWxTpl(CRUDBase[Wxtpl, WxTplCreate, WxTplUpdate]):
|
||||
def get_wx_tpl(self, db: Session, wx_tpl_id: int):
|
||||
return self.get_by_field(db, "id", wx_tpl_id)
|
||||
|
||||
|
||||
class CRUDXueshen(CRUDBase[Xuesheng, XueshengCreate, XueshengUpdate]):
|
||||
def get_xueshen(self, db: Session, xueshen_id: int):
|
||||
return self.get_by_field(db, "xuesheng_id", xueshen_id)
|
||||
|
||||
|
||||
advert = CRUDAdvert(Advert)
|
||||
@ -184,24 +173,27 @@ banji = CRUDBase(Banji)
|
||||
banner = CRUDBanner(Banner)
|
||||
category = CRUDCategory(Category)
|
||||
cdkey = CRUDCdkey(Cdkey)
|
||||
cdkeyCate = CRUDCdkeyCate(CdkeyCate)
|
||||
cdkey_cate = CRUDCdkeyCate(CdkeyCate)
|
||||
cdkeys = CRUDCdkeys(Cdkeys)
|
||||
exercise = CRUDExercise(Exercise)
|
||||
feedback = CRUDFeedback(Feedback)
|
||||
gift = CRUDGift(Gift)
|
||||
indexBtn = CRUDIndexBtn(IndexBtn)
|
||||
index_btn = CRUDIndexBtn(IndexBtn)
|
||||
knowledge = CRUDKnowledge(Knowledge)
|
||||
knowledgeCate = CRUDKnowledgeCate(KnowledgeCate)
|
||||
knowledge_cate = CRUDKnowledgeCate(KnowledgeCate)
|
||||
notice = CRUDNotice(Notice)
|
||||
order = CRUDOrder(Order)
|
||||
paper = CRUDPaper(Paper)
|
||||
paperTest = CRUDPaperTest(PaperTest)
|
||||
phonecode = CRUDPhonecode(Phonecode)
|
||||
qYear = CRUDSchool(School)
|
||||
paper_test = CRUDPaperTest(PaperTest)
|
||||
phone_code = CRUDPhonecode(Phonecode)
|
||||
q_year = CRUDSchool(School)
|
||||
school = CRUDSchool(School)
|
||||
setting = CRUDSetting(Setting)
|
||||
shareRecord = CRUDShareRecord(ShareRecord)
|
||||
sonSimple = CRUDsonSimple(SonSimple)
|
||||
share_record = CRUDShareRecord(ShareRecord)
|
||||
son_simple = CRUDsonSimple(SonSimple)
|
||||
test = CRUDTest(Test)
|
||||
testType = CRUDTestType(TestType)
|
||||
typeCate = CRUDTypeCate(TypeCate)
|
||||
test_type = CRUDTestType(TestType)
|
||||
type_cate = CRUDTypeCate(TypeCate)
|
||||
watermark = CRUDWatermark(Watermark)
|
||||
wx_tpl = CRUDWxTpl(Wxtpl)
|
||||
xueshen = CRUDXueshen(Xuesheng)
|
||||
|
124
mooc/crud/crud_goouc_fullexam_user.py
Normal file
124
mooc/crud/crud_goouc_fullexam_user.py
Normal file
@ -0,0 +1,124 @@
|
||||
from typing import Optional
|
||||
from sqlalchemy.orm import Session
|
||||
from mooc.crud.crud_base import CRUDBase
|
||||
|
||||
from mooc.models.goouc_fullexam_user import (
|
||||
# 导入全部
|
||||
UserDoexam,
|
||||
UserDoOtherExamAnswer,
|
||||
UserExamAnswer,
|
||||
UserSpecial,
|
||||
UserSpequence,
|
||||
UserMember,
|
||||
UserCollectionPraction,
|
||||
UserGift,
|
||||
UserQhigh,
|
||||
UserQintensive,
|
||||
UserRead,
|
||||
UserDootherExam,
|
||||
UserWrongPraction,
|
||||
UserPool,
|
||||
)
|
||||
from mooc.schemas.goouc_fullexam_user import (
|
||||
# 导入全部create和update
|
||||
UserDoexamCreate,
|
||||
UserDoexamUpdate,
|
||||
UserDoOtherExamAnswerCreate,
|
||||
UserDoOtherExamAnswerUpdate,
|
||||
UserExamAnswerCreate,
|
||||
UserExamAnswerUpdate,
|
||||
UserSpecialCreate,
|
||||
UserSpecialUpdate,
|
||||
UserSpequenceCreate,
|
||||
UserSpequenceUpdate,
|
||||
UserMemberCreate,
|
||||
UserMemberUpdate,
|
||||
UserCollectionPractionCreate,
|
||||
UserCollectionPractionUpdate,
|
||||
UserGiftCreate,
|
||||
UserGiftUpdate,
|
||||
UserQHighCreate,
|
||||
UserQHighUpdate,
|
||||
UserQIntensiveCreate,
|
||||
UserQIntensiveUpdate,
|
||||
UserReadCreate,
|
||||
UserReadUpdate,
|
||||
UserDoOtherExamCreate,
|
||||
UserDoOtherExamUpdate,
|
||||
UserWrongPractionCreate,
|
||||
UserWrongPractionUpdate,
|
||||
UserPoolCreate,
|
||||
UserPoolUpdate,
|
||||
)
|
||||
|
||||
|
||||
class CRUDUserDoexam(CRUDBase[UserDoexam, UserDoexamCreate, UserDoexamUpdate]):
|
||||
def get_user_doexam(self, db: Session, user_doexam_id: int):
|
||||
return self.get_by_field(db, "id", user_doexam_id)
|
||||
|
||||
|
||||
class CRUDUserDoOtherExamAnswer(
|
||||
CRUDBase[UserDoOtherExamAnswer, UserDoOtherExamAnswerCreate, UserDoOtherExamAnswerUpdate]):
|
||||
def get_user_doother_exam_answer(self, db: Session, user_doother_exam_answer_id: int):
|
||||
return self.get_by_field(db, "id", user_doother_exam_answer_id)
|
||||
|
||||
|
||||
class CRUDUserExamAnswer(CRUDBase[UserExamAnswer, UserExamAnswerCreate, UserExamAnswerUpdate]):
|
||||
def get_user_exam_answer(self, db: Session, user_exam_answer_id: int):
|
||||
return self.get_by_field(db, "id", user_exam_answer_id)
|
||||
|
||||
|
||||
class CRUDUserSpecial(CRUDBase[UserSpecial, UserSpecialCreate, UserSpecialUpdate]):
|
||||
def get_user_special(self, db: Session, user_special_id: int):
|
||||
return self.get_by_field(db, "id", user_special_id)
|
||||
|
||||
|
||||
class CRUDUserSpequence(CRUDBase[UserSpequence, UserSpequenceCreate, UserSpequenceUpdate]):
|
||||
def get_user_spequence(self, db: Session, user_spequence_id: int):
|
||||
return self.get_by_field(db, "id", user_spequence_id)
|
||||
|
||||
|
||||
class CRUDUserMember(CRUDBase[UserMember, UserMemberCreate, UserMemberUpdate]):
|
||||
def get_user_member(self, db: Session, user_member_id: int):
|
||||
return self.get_by_field(db, "id", user_member_id)
|
||||
|
||||
|
||||
class CRUDUserCollectionPraction(
|
||||
CRUDBase[UserCollectionPraction, UserCollectionPractionCreate, UserCollectionPractionUpdate]):
|
||||
def get_user_collection_praction(self, db: Session, user_collection_praction_id: int):
|
||||
return self.get_by_field(db, "id", user_collection_praction_id)
|
||||
|
||||
|
||||
class CRUDUserGift(CRUDBase[UserGift, UserGiftCreate, UserGiftUpdate]):
|
||||
def get_user_gift(self, db: Session, user_gift_id: int):
|
||||
return self.get_by_field(db, "id", user_gift_id)
|
||||
|
||||
|
||||
class CRUDUserQHigh(CRUDBase[UserQhigh, UserQHighCreate, UserQHighUpdate]):
|
||||
def get_user_qhigh(self, db: Session, user_qhigh_id: int):
|
||||
return self.get_by_field(db, "id", user_qhigh_id)
|
||||
|
||||
|
||||
class CRUDUserQIntensive(CRUDBase[UserQintensive, UserQIntensiveCreate, UserQIntensiveUpdate]):
|
||||
def get_user_qintensive(self, db: Session, user_qintensive_id: int):
|
||||
return self.get_by_field(db, "id", user_qintensive_id)
|
||||
|
||||
|
||||
class CRUDUserRead(CRUDBase[UserRead, UserReadCreate, UserReadUpdate]):
|
||||
def get_user_read(self, db: Session, user_read_id: int):
|
||||
return self.get_by_field(db, "id", user_read_id)
|
||||
|
||||
|
||||
class CRUDUserDoOtherExam(CRUDBase[UserDootherExam, UserDoOtherExamCreate, UserDoOtherExamUpdate]):
|
||||
def get_user_doother_exam(self, db: Session, user_doother_exam_id: int):
|
||||
return self.get_by_field(db, "id", user_doother_exam_id)
|
||||
|
||||
|
||||
class CRUDUserWrongPraction(CRUDBase[UserWrongPraction, UserWrongPractionCreate, UserWrongPractionUpdate]):
|
||||
def get_user_wrong_praction(self, db: Session, user_wrong_praction_id: int):
|
||||
return self.get_by_field(db, "id", user_wrong_praction_id)
|
||||
|
||||
|
||||
class CRUDUserPool(CRUDBase[UserPool, UserPoolCreate, UserPoolUpdate]):
|
||||
def get_user_pool(self, db: Session, user_pool_id: int):
|
||||
return self.get_by_field(db, "id", user_pool_id)
|
@ -1,4 +1,4 @@
|
||||
from sqlalchemy import Date, DateTime, Index, String, Text, text, Column, Integer
|
||||
from sqlalchemy import Date, DateTime, Index, String, Text, text, Column, Integer, Float, CHAR
|
||||
from sqlalchemy.dialects.mysql import DECIMAL
|
||||
|
||||
from mooc.db.database import Base
|
||||
@ -633,3 +633,121 @@ class TypeCate(Base):
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
class Watermark(Base):
|
||||
__tablename__ = 'ims_goouc_fullexam_watermark'
|
||||
__table_args__ = {'comment': '水印配置表'}
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
weid = Column(Integer, nullable=False)
|
||||
type = Column(Integer, nullable=False, comment='1个人信息 2为自定义')
|
||||
open = Column(Integer, nullable=False, server_default=text("'2'"), comment='1打开水印 2关闭水印')
|
||||
content = Column(String(1024), nullable=False, comment='水印内容')
|
||||
size = Column(Integer, nullable=False, comment='字体大小')
|
||||
rotate = Column(Integer, nullable=False, comment='旋转度数')
|
||||
transparent = Column(Integer, nullable=False, comment='透明度')
|
||||
local_type = Column(Integer, nullable=False, comment='1预设 2为自定义 生效位置类型')
|
||||
presupposition = Column(Integer, nullable=False, comment='预设类型')
|
||||
horizontal = Column(Integer, nullable=False, comment='水平距离')
|
||||
vertical = Column(Integer, nullable=False, comment='垂直距离')
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class Wxtpl(Base):
|
||||
__tablename__ = 'ims_goouc_fullexam_wxtpl'
|
||||
__table_args__ = (
|
||||
Index('idx_weid', 'weid'),
|
||||
{'comment': '模板消息表'}
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
weid = Column(Integer, nullable=False)
|
||||
type = Column(Integer, nullable=False)
|
||||
tplid = Column(String(255), nullable=False)
|
||||
createtime = Column(Integer, nullable=False, comment='创建时间')
|
||||
keyword1 = Column(String(255), nullable=True)
|
||||
keyword2 = Column(String(255), nullable=True)
|
||||
keyword3 = Column(String(255), nullable=True)
|
||||
istatus = Column(Integer, nullable=True, server_default=text("'1'"), comment='删除状态')
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class Xuesheng(Base):
|
||||
__tablename__ = 'ims_goouc_fullexam_xuesheng'
|
||||
|
||||
xuesheng_id = Column(Integer, primary_key=True, index=True)
|
||||
weid = Column(Integer, nullable=False)
|
||||
uidht = Column(Integer, nullable=False)
|
||||
school_id = Column(Integer, nullable=False)
|
||||
nianfen_id = Column(Integer, nullable=False)
|
||||
banji_id = Column(Integer, nullable=False)
|
||||
banjixs_id = Column(Integer, nullable=False)
|
||||
xiaozu_id = Column(Integer, nullable=False)
|
||||
xiaozuxs_id = Column(Integer, nullable=False)
|
||||
sflx = Column(Integer, nullable=False)
|
||||
bjcsjf = Column(Float, nullable=False, server_default=text("'0.00'"))
|
||||
bjzf = Column(Float, nullable=False, server_default=text("'0.00'"))
|
||||
displayorder = Column(Integer, nullable=False)
|
||||
pic = Column(Text, nullable=False)
|
||||
sex = Column(Text, nullable=False)
|
||||
jiguan = Column(Text, nullable=False)
|
||||
minzu = Column(Text, nullable=False)
|
||||
sfzhm = Column(Text, nullable=False)
|
||||
qq = Column(String(255), nullable=False)
|
||||
phone = Column(String(255), nullable=False)
|
||||
yzm = Column(String(225), nullable=False)
|
||||
updatetime = Column(Integer, nullable=False)
|
||||
beizhu = Column(Text, nullable=False)
|
||||
addtime = Column(Integer, nullable=False)
|
||||
openid = Column(String(255), nullable=False)
|
||||
openid1 = Column(String(255), nullable=False)
|
||||
openid2 = Column(String(255), nullable=False)
|
||||
openid3 = Column(String(255), nullable=False)
|
||||
openid4 = Column(String(255), nullable=False)
|
||||
openid5 = Column(String(255), nullable=False)
|
||||
openid6 = Column(String(255), nullable=False)
|
||||
openid7 = Column(String(255), nullable=False)
|
||||
openid8 = Column(String(255), nullable=False)
|
||||
sflx1 = Column(Integer, nullable=False)
|
||||
sflx2 = Column(Integer, nullable=False)
|
||||
sflx3 = Column(Integer, nullable=False)
|
||||
sflx4 = Column(Integer, nullable=False)
|
||||
sflx5 = Column(Integer, nullable=False)
|
||||
sflx6 = Column(Integer, nullable=False)
|
||||
sflx7 = Column(Integer, nullable=False)
|
||||
sflx8 = Column(Integer, nullable=False)
|
||||
nid = Column(Integer, nullable=False)
|
||||
name = Column(String(50), nullable=False)
|
||||
parentid = Column(Integer, nullable=False)
|
||||
enabled = Column(Integer, nullable=False)
|
||||
icon = Column(String(100), nullable=False)
|
||||
description = Column(String(100), nullable=False)
|
||||
styleid = Column(Integer, nullable=False)
|
||||
linkurl = Column(String(500), nullable=False)
|
||||
ishomepage = Column(Integer, nullable=False)
|
||||
icontype = Column(Integer, nullable=False)
|
||||
css = Column(String(500), nullable=False)
|
||||
student_name = Column(CHAR(20), nullable=True)
|
||||
gxuehao = Column(CHAR(25), nullable=True)
|
||||
xxuehao = Column(CHAR(25), nullable=True)
|
||||
zxxuehao = Column(CHAR(25), nullable=True)
|
||||
student_img = Column(CHAR(60), nullable=True)
|
||||
parent_name = Column(CHAR(20), nullable=True)
|
||||
parent_phone = Column(CHAR(20), nullable=True)
|
||||
address = Column(String(255), nullable=True)
|
||||
uid = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid1 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid2 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid3 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid4 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid5 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid6 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid7 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid8 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
@ -124,7 +124,7 @@ class UserDootherExam(Base):
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class UserDootherExamAnswer(Base):
|
||||
class UserDoOtherExamAnswer(Base):
|
||||
__tablename__ = 'ims_goouc_fullexam_user_doother_exam_answer'
|
||||
__table_args__ = (
|
||||
Index('idx_weid', 'weid'),
|
||||
@ -412,120 +412,3 @@ class UserWrongPraction(Base):
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class Watermark(Base):
|
||||
__tablename__ = 'ims_goouc_fullexam_watermark'
|
||||
__table_args__ = {'comment': '水印配置表'}
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
weid = Column(Integer, nullable=False)
|
||||
type = Column(Integer, nullable=False, comment='1个人信息 2为自定义')
|
||||
open = Column(Integer, nullable=False, server_default=text("'2'"), comment='1打开水印 2关闭水印')
|
||||
content = Column(String(1024), nullable=False, comment='水印内容')
|
||||
size = Column(Integer, nullable=False, comment='字体大小')
|
||||
rotate = Column(Integer, nullable=False, comment='旋转度数')
|
||||
transparent = Column(Integer, nullable=False, comment='透明度')
|
||||
local_type = Column(Integer, nullable=False, comment='1预设 2为自定义 生效位置类型')
|
||||
presupposition = Column(Integer, nullable=False, comment='预设类型')
|
||||
horizontal = Column(Integer, nullable=False, comment='水平距离')
|
||||
vertical = Column(Integer, nullable=False, comment='垂直距离')
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class Wxtpl(Base):
|
||||
__tablename__ = 'ims_goouc_fullexam_wxtpl'
|
||||
__table_args__ = (
|
||||
Index('idx_weid', 'weid'),
|
||||
{'comment': '模板消息表'}
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
weid = Column(Integer, nullable=False)
|
||||
type = Column(Integer, nullable=False)
|
||||
tplid = Column(String(255), nullable=False)
|
||||
createtime = Column(Integer, nullable=False, comment='创建时间')
|
||||
keyword1 = Column(String(255), nullable=True)
|
||||
keyword2 = Column(String(255), nullable=True)
|
||||
keyword3 = Column(String(255), nullable=True)
|
||||
istatus = Column(Integer, nullable=True, server_default=text("'1'"), comment='删除状态')
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class Xuesheng(Base):
|
||||
__tablename__ = 'ims_goouc_fullexam_xuesheng'
|
||||
|
||||
xuesheng_id = Column(Integer, primary_key=True, index=True)
|
||||
weid = Column(Integer, nullable=False)
|
||||
uidht = Column(Integer, nullable=False)
|
||||
school_id = Column(Integer, nullable=False)
|
||||
nianfen_id = Column(Integer, nullable=False)
|
||||
banji_id = Column(Integer, nullable=False)
|
||||
banjixs_id = Column(Integer, nullable=False)
|
||||
xiaozu_id = Column(Integer, nullable=False)
|
||||
xiaozuxs_id = Column(Integer, nullable=False)
|
||||
sflx = Column(Integer, nullable=False)
|
||||
bjcsjf = Column(Float, nullable=False, server_default=text("'0.00'"))
|
||||
bjzf = Column(Float, nullable=False, server_default=text("'0.00'"))
|
||||
displayorder = Column(Integer, nullable=False)
|
||||
pic = Column(Text, nullable=False)
|
||||
sex = Column(Text, nullable=False)
|
||||
jiguan = Column(Text, nullable=False)
|
||||
minzu = Column(Text, nullable=False)
|
||||
sfzhm = Column(Text, nullable=False)
|
||||
qq = Column(String(255), nullable=False)
|
||||
phone = Column(String(255), nullable=False)
|
||||
yzm = Column(String(225), nullable=False)
|
||||
updatetime = Column(Integer, nullable=False)
|
||||
beizhu = Column(Text, nullable=False)
|
||||
addtime = Column(Integer, nullable=False)
|
||||
openid = Column(String(255), nullable=False)
|
||||
openid1 = Column(String(255), nullable=False)
|
||||
openid2 = Column(String(255), nullable=False)
|
||||
openid3 = Column(String(255), nullable=False)
|
||||
openid4 = Column(String(255), nullable=False)
|
||||
openid5 = Column(String(255), nullable=False)
|
||||
openid6 = Column(String(255), nullable=False)
|
||||
openid7 = Column(String(255), nullable=False)
|
||||
openid8 = Column(String(255), nullable=False)
|
||||
sflx1 = Column(Integer, nullable=False)
|
||||
sflx2 = Column(Integer, nullable=False)
|
||||
sflx3 = Column(Integer, nullable=False)
|
||||
sflx4 = Column(Integer, nullable=False)
|
||||
sflx5 = Column(Integer, nullable=False)
|
||||
sflx6 = Column(Integer, nullable=False)
|
||||
sflx7 = Column(Integer, nullable=False)
|
||||
sflx8 = Column(Integer, nullable=False)
|
||||
nid = Column(Integer, nullable=False)
|
||||
name = Column(String(50), nullable=False)
|
||||
parentid = Column(Integer, nullable=False)
|
||||
enabled = Column(Integer, nullable=False)
|
||||
icon = Column(String(100), nullable=False)
|
||||
description = Column(String(100), nullable=False)
|
||||
styleid = Column(Integer, nullable=False)
|
||||
linkurl = Column(String(500), nullable=False)
|
||||
ishomepage = Column(Integer, nullable=False)
|
||||
icontype = Column(Integer, nullable=False)
|
||||
css = Column(String(500), nullable=False)
|
||||
student_name = Column(CHAR(20), nullable=True)
|
||||
gxuehao = Column(CHAR(25), nullable=True)
|
||||
xxuehao = Column(CHAR(25), nullable=True)
|
||||
zxxuehao = Column(CHAR(25), nullable=True)
|
||||
student_img = Column(CHAR(60), nullable=True)
|
||||
parent_name = Column(CHAR(20), nullable=True)
|
||||
parent_phone = Column(CHAR(20), nullable=True)
|
||||
address = Column(String(255), nullable=True)
|
||||
uid = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid1 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid2 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid3 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid4 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid5 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid6 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid7 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
uid8 = Column(Integer, nullable=True, server_default=text("'0'"))
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
@ -1357,3 +1357,266 @@ class TypeCateResponse(TypeCateInDB):
|
||||
# 用于批量操作的模型
|
||||
class TypeCateListResponse(BaseModel):
|
||||
data: List[TypeCateResponse]
|
||||
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class WatermarkBase(BaseModel):
|
||||
weid: int
|
||||
type: int = Field(..., le=2, ge=1, description='1个人信息 2为自定义')
|
||||
open: int = Field(default=2, le=2, ge=1, description='1打开水印 2关闭水印')
|
||||
content: str = Field(..., max_length=1024, description='水印内容')
|
||||
size: int
|
||||
rotate: int
|
||||
transparent: int
|
||||
local_type: int = Field(..., le=2, ge=1, description='1预设 2为自定义 生效位置类型')
|
||||
presupposition: int
|
||||
horizontal: int
|
||||
vertical: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class WatermarkCreate(WatermarkBase):
|
||||
pass
|
||||
|
||||
|
||||
class WatermarkUpdate(WatermarkBase):
|
||||
weid: Optional[int] = None
|
||||
type: Optional[int] = None
|
||||
open: Optional[int] = None
|
||||
content: Optional[str] = None
|
||||
size: Optional[int] = None
|
||||
rotate: Optional[int] = None
|
||||
transparent: Optional[int] = None
|
||||
local_type: Optional[int] = None
|
||||
presupposition: Optional[int] = None
|
||||
horizontal: Optional[int] = None
|
||||
vertical: Optional[int] = None
|
||||
|
||||
|
||||
class WatermarkInDB(WatermarkBase):
|
||||
id: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class WatermarkResponse(WatermarkInDB):
|
||||
pass
|
||||
|
||||
|
||||
class WatermarkListResponse(BaseModel):
|
||||
data: List[WatermarkResponse]
|
||||
|
||||
|
||||
class WxTplBase(BaseModel):
|
||||
weid: int
|
||||
type: int
|
||||
tplid: str = Field(..., max_length=255)
|
||||
keyword1: Optional[str] = Field(None, max_length=255)
|
||||
keyword2: Optional[str] = Field(None, max_length=255)
|
||||
keyword3: Optional[str] = Field(None, max_length=255)
|
||||
istatus: Optional[int] = Field(default=1, le=1, ge=1, description='删除状态')
|
||||
createtime: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class WxTplCreate(WxTplBase):
|
||||
pass
|
||||
|
||||
|
||||
class WxTplUpdate(WxTplBase):
|
||||
weid: Optional[int] = None
|
||||
type: Optional[int] = None
|
||||
tplid: Optional[str] = None
|
||||
keyword1: Optional[str] = None
|
||||
keyword2: Optional[str] = None
|
||||
keyword3: Optional[str] = None
|
||||
istatus: Optional[int] = None
|
||||
createtime: Optional[int] = None
|
||||
|
||||
|
||||
class WxTplInDB(WxTplBase):
|
||||
id: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class WxTplResponse(WxTplInDB):
|
||||
pass
|
||||
|
||||
|
||||
class WxTplListResponse(BaseModel):
|
||||
data: List[WxTplResponse]
|
||||
|
||||
|
||||
class XueshengBase(BaseModel):
|
||||
weid: int
|
||||
uidht: int
|
||||
school_id: int
|
||||
nianfen_id: int
|
||||
banji_id: int
|
||||
banjixs_id: int
|
||||
xiaozu_id: int
|
||||
xiaozuxs_id: int
|
||||
sflx: int
|
||||
bjcsjf: float = Field(default=0.00)
|
||||
bjzf: float = Field(default=0.00)
|
||||
displayorder: int
|
||||
student_name: Optional[str] = Field(None, max_length=20)
|
||||
pic: str = Field(...)
|
||||
sex: str = Field(...)
|
||||
jiguan: str = Field(...)
|
||||
minzu: str = Field(...)
|
||||
sfzhm: str = Field(...)
|
||||
gxuehao: Optional[str] = Field(None, max_length=25)
|
||||
xxuehao: Optional[str] = Field(None, max_length=25)
|
||||
zxxuehao: Optional[str] = Field(None, max_length=25)
|
||||
student_img: Optional[str] = Field(None, max_length=60)
|
||||
parent_name: Optional[str] = Field(None, max_length=20)
|
||||
parent_phone: Optional[str] = Field(None, max_length=20)
|
||||
qq: str = Field(...)
|
||||
phone: str = Field(...)
|
||||
yzm: str = Field(...)
|
||||
address: Optional[str] = Field(None, max_length=255)
|
||||
updatetime: int
|
||||
beizhu: str = Field(...)
|
||||
addtime: int
|
||||
uid: Optional[int] = Field(default=0)
|
||||
uid1: Optional[int] = Field(default=0)
|
||||
uid2: Optional[int] = Field(default=0)
|
||||
uid3: Optional[int] = Field(default=0)
|
||||
uid4: Optional[int] = Field(default=0)
|
||||
uid5: Optional[int] = Field(default=0)
|
||||
uid6: Optional[int] = Field(default=0)
|
||||
uid7: Optional[int] = Field(default=0)
|
||||
uid8: Optional[int] = Field(default=0)
|
||||
openid: str = Field(...)
|
||||
openid1: str = Field(...)
|
||||
openid2: str = Field(...)
|
||||
openid3: str = Field(...)
|
||||
openid4: str = Field(...)
|
||||
openid5: str = Field(...)
|
||||
openid6: str = Field(...)
|
||||
openid7: str = Field(...)
|
||||
openid8: str = Field(...)
|
||||
sflx1: int
|
||||
sflx2: int
|
||||
sflx3: int
|
||||
sflx4: int
|
||||
sflx5: int
|
||||
sflx6: int
|
||||
sflx7: int
|
||||
sflx8: int
|
||||
nid: int
|
||||
name: str = Field(..., max_length=50)
|
||||
parentid: int
|
||||
enabled: int
|
||||
icon: str = Field(..., max_length=100)
|
||||
description: str = Field(..., max_length=100)
|
||||
styleid: int
|
||||
linkurl: str = Field(..., max_length=500)
|
||||
ishomepage: int
|
||||
icontype: int
|
||||
css: str = Field(..., max_length=500)
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class XueshengCreate(XueshengBase):
|
||||
pass
|
||||
|
||||
|
||||
class XueshengUpdate(XueshengBase):
|
||||
# All fields are optional for partial updates
|
||||
weid: Optional[int] = None
|
||||
uidht: Optional[int] = None
|
||||
school_id: Optional[int] = None
|
||||
nianfen_id: Optional[int] = None
|
||||
banji_id: Optional[int] = None
|
||||
banjixs_id: Optional[int] = None
|
||||
xiaozu_id: Optional[int] = None
|
||||
xiaozuxs_id: Optional[int] = None
|
||||
sflx: Optional[int] = None
|
||||
bjcsjf: Optional[float] = None
|
||||
bjzf: Optional[float] = None
|
||||
displayorder: Optional[int] = None
|
||||
student_name: Optional[str] = None
|
||||
pic: Optional[str] = None
|
||||
sex: Optional[str] = None
|
||||
jiguan: Optional[str] = None
|
||||
minzu: Optional[str] = None
|
||||
sfzhm: Optional[str] = None
|
||||
gxuehao: Optional[str] = None
|
||||
xxuehao: Optional[str] = None
|
||||
zxxuehao: Optional[str] = None
|
||||
student_img: Optional[str] = None
|
||||
parent_name: Optional[str] = None
|
||||
parent_phone: Optional[str] = None
|
||||
qq: Optional[str] = None
|
||||
phone: Optional[str] = None
|
||||
yzm: Optional[str] = None
|
||||
address: Optional[str] = None
|
||||
updatetime: Optional[int] = None
|
||||
beizhu: Optional[str] = None
|
||||
addtime: Optional[int] = None
|
||||
uid: Optional[int] = None
|
||||
uid1: Optional[int] = None
|
||||
uid2: Optional[int] = None
|
||||
uid3: Optional[int] = None
|
||||
uid4: Optional[int] = None
|
||||
uid5: Optional[int] = None
|
||||
uid6: Optional[int] = None
|
||||
uid7: Optional[int] = None
|
||||
uid8: Optional[int] = None
|
||||
openid: Optional[str] = None
|
||||
openid1: Optional[str] = None
|
||||
openid2: Optional[str] = None
|
||||
openid3: Optional[str] = None
|
||||
openid4: Optional[str] = None
|
||||
openid5: Optional[str] = None
|
||||
openid6: Optional[str] = None
|
||||
openid7: Optional[str] = None
|
||||
openid8: Optional[str] = None
|
||||
sflx1: Optional[int] = None
|
||||
sflx2: Optional[int] = None
|
||||
sflx3: Optional[int] = None
|
||||
sflx4: Optional[int] = None
|
||||
sflx5: Optional[int] = None
|
||||
sflx6: Optional[int] = None
|
||||
sflx7: Optional[int] = None
|
||||
sflx8: Optional[int] = None
|
||||
nid: Optional[int] = None
|
||||
name: Optional[str] = None
|
||||
parentid: Optional[int] = None
|
||||
enabled: Optional[int] = None
|
||||
icon: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
styleid: Optional[int] = None
|
||||
linkurl: Optional[str] = None
|
||||
ishomepage: Optional[int] = None
|
||||
icontype: Optional[int] = None
|
||||
css: Optional[str] = None
|
||||
|
||||
|
||||
class XueshengInDB(XueshengBase):
|
||||
xuesheng_id: int
|
||||
|
||||
class Config:
|
||||
orm_mode = True
|
||||
|
||||
|
||||
class XueshengResponse(XueshengInDB):
|
||||
pass
|
||||
|
||||
|
||||
class XueshengListResponse(BaseModel):
|
||||
data: List[XueshengResponse]
|
||||
|
Loading…
Reference in New Issue
Block a user