diff --git a/mooc/crud/crud_goouc_fullexam.py b/mooc/crud/crud_goouc_fullexam.py index 31d5a0e..aaa44fd 100644 --- a/mooc/crud/crud_goouc_fullexam.py +++ b/mooc/crud/crud_goouc_fullexam.py @@ -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) diff --git a/mooc/crud/crud_goouc_fullexam_user.py b/mooc/crud/crud_goouc_fullexam_user.py new file mode 100644 index 0000000..46f4c47 --- /dev/null +++ b/mooc/crud/crud_goouc_fullexam_user.py @@ -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) diff --git a/mooc/models/goouc_fullexam.py b/mooc/models/goouc_fullexam.py index b089528..df913ca 100644 --- a/mooc/models/goouc_fullexam.py +++ b/mooc/models/goouc_fullexam.py @@ -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 diff --git a/mooc/models/goouc_fullexam_user.py b/mooc/models/goouc_fullexam_user.py index fec5236..b8acabb 100644 --- a/mooc/models/goouc_fullexam_user.py +++ b/mooc/models/goouc_fullexam_user.py @@ -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 diff --git a/mooc/schemas/goouc_fullexam.py b/mooc/schemas/goouc_fullexam.py index 1967675..45f0b38 100644 --- a/mooc/schemas/goouc_fullexam.py +++ b/mooc/schemas/goouc_fullexam.py @@ -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]