from typing import Optional from sqlalchemy.orm import Session from mooc.crud.crud_base import CRUDBase from mooc.models.goouc_fullexam_user import ( # 导入全部 FullExamUser, UserDoexam, UserDoOtherExamAnswer, UserExamAnswer, UserSpecial, UserSpequence, UserMember, UserCollectionPraction, UserGift, UserQhigh, UserQintensive, UserRead, UserDootherExam, UserWrongPraction, UserPool, ) from mooc.schemas.goouc_fullexam_user import ( # 导入全部create和update FullExamUserCreate, FullExamUserUpdate, 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) def get_by_openid_and_weid(self, db: Session, openid: str, weid: int, istatus: int = 1): """通过openid和weid获取用户""" return db.query(self.model).filter( self.model.openid == openid, self.model.weid == weid, self.model.istatus == istatus ).first() 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) class CRUDFullExamUser(CRUDBase[FullExamUser, FullExamUserCreate, FullExamUserUpdate]): def get_full_exam_user(self, db: Session, full_exam_user_id: int): return self.get_by_field(db, "id", full_exam_user_id) def get_by_openid_and_weid(self, db: Session, openid: str, weid: int, istatus: int = 1): """通过openid和weid获取用户""" return db.query(self.model).filter( self.model.openid == openid, self.model.weid == weid, self.model.istatus == istatus ).first() def get_by_id_and_weid(self, db: Session, id: int, weid: int, istatus: int = 1): """通过id和weid获取用户""" return db.query(self.model).filter( self.model.id == id, self.model.weid == weid, self.model.istatus == istatus ).first() # 创建实例 user_doexam = CRUDUserDoexam(UserDoexam) user_doother_exam_answer = CRUDUserDoOtherExamAnswer(UserDoOtherExamAnswer) user_exam_answer = CRUDUserExamAnswer(UserExamAnswer) user_special = CRUDUserSpecial(UserSpecial) user_spequence = CRUDUserSpequence(UserSpequence) user_member = CRUDUserMember(UserMember) user_collection_praction = CRUDUserCollectionPraction(UserCollectionPraction) user_gift = CRUDUserGift(UserGift) user_qhigh = CRUDUserQHigh(UserQhigh) user_qintensive = CRUDUserQIntensive(UserQintensive) user_read = CRUDUserRead(UserRead) user_doother_exam = CRUDUserDoOtherExam(UserDootherExam) user_wrong_praction = CRUDUserWrongPraction(UserWrongPraction) user_pool = CRUDUserPool(UserPool) full_exam_user = CRUDFullExamUser(FullExamUser)