feat(mooc): 重构代码并添加新功能

- 添加了新的 Watermark、WxTpl 和 Xuesheng 模型及相应的 CRUD 类
- 新增了 goouc_fullexam_user 相关的模型和 CRUD 类
- 检查原有crud对应id,并手动修改
This commit is contained in:
jieyuu 2025-01-06 11:12:11 +08:00
parent 3ed18a297e
commit 1df5aefac3
5 changed files with 560 additions and 180 deletions

View File

@ -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)

View 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)

View File

@ -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

View File

@ -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

View File

@ -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]