
- 在 mooc/models/__init__.py 中添加了 part3中数据库表的导入 - 新增了 mooc/crud/crud_goouc_fullexam.py 文件,实现了 goouc_fullexam 相关表的 CRUD 接口 - 添加了 Advert、Banji、Banner 等多个模型类的 CRUD 操作方法
208 lines
7.5 KiB
Python
208 lines
7.5 KiB
Python
from typing import Optional
|
|
from sqlalchemy.orm import Session
|
|
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,
|
|
)
|
|
from mooc.schemas.goouc_fullexam import (AdvertUpdate, AdvertCreate, BanjiUpdate, BanjiCreate, BannerCreate,
|
|
BannerUpdate, CategoryCreate, CategoryUpdate, CdkeyCreate, CdkeyUpdate,
|
|
CdkeyCateCreate, CdkeyCateUpdate, IndexBtnCreate, IndexBtnUpdate, GiftCreate,
|
|
GiftUpdate, CdkeysCreate, CdkeysUpdate, ExerciseCreate, ExerciseUpdate,
|
|
FeedbackCreate, FeedbackUpdate, TypeCateCreate, TypeCateUpdate,
|
|
KnowledgeCreate, KnowledgeUpdate, KnowledgeCateCreate, KnowledgeCateUpdate,
|
|
NoticeCreate, NoticeUpdate, OrderCreate, OrderUpdate, PaperCreate, PaperUpdate,
|
|
PaperTestCreate, PaperTestUpdate, PhoneCodeUpdate, PhoneCodeCreate,
|
|
QYearCreate, QYearUpdate, SchoolCreate, SchoolUpdate, SettingCreate,
|
|
SettingUpdate, ShareRecordCreate, ShareRecordUpdate, SonSimpleCreate,
|
|
SonSimpleUpdate, TestCreate, TestUpdate, TestTypeCreate, TestTypeUpdate,
|
|
)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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]
|
|
):
|
|
|
|
def get_knowledge_cate(self, db: Session, knowledge_cate_id: int):
|
|
return self.get_by_field(db, "knowledge_cate_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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
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)
|
|
|
|
|
|
class CRUDTypeCate(CRUDBase[TypeCate, TypeCateCreate, TypeCateUpdate]):
|
|
|
|
def get_type_cate(self, db: Session, type_cate_id: int):
|
|
return self.get
|
|
|
|
|
|
advert = CRUDAdvert(Advert)
|
|
banji = CRUDBase(Banji)
|
|
banner = CRUDBanner(Banner)
|
|
category = CRUDCategory(Category)
|
|
cdkey = CRUDCdkey(Cdkey)
|
|
cdkeyCate = CRUDCdkeyCate(CdkeyCate)
|
|
cdkeys = CRUDCdkeys(Cdkeys)
|
|
exercise = CRUDExercise(Exercise)
|
|
feedback = CRUDFeedback(Feedback)
|
|
gift = CRUDGift(Gift)
|
|
indexBtn = CRUDIndexBtn(IndexBtn)
|
|
knowledge = CRUDKnowledge(Knowledge)
|
|
knowledgeCate = CRUDKnowledgeCate(KnowledgeCate)
|
|
notice = CRUDNotice(Notice)
|
|
order = CRUDOrder(Order)
|
|
paper = CRUDPaper(Paper)
|
|
paperTest = CRUDPaperTest(PaperTest)
|
|
phonecode = CRUDPhonecode(Phonecode)
|
|
qYear = CRUDSchool(School)
|
|
school = CRUDSchool(School)
|
|
setting = CRUDSetting(Setting)
|
|
shareRecord = CRUDShareRecord(ShareRecord)
|
|
sonSimple = CRUDsonSimple(SonSimple)
|
|
test = CRUDTest(Test)
|
|
testType = CRUDTestType(TestType)
|
|
typeCate = CRUDTypeCate(TypeCate)
|