فهرست منبع

news,article Model 建立

MIA 2 سال پیش
والد
کامیت
55e8631d2f
2فایلهای تغییر یافته به همراه32 افزوده شده و 13 حذف شده
  1. 12 11
      app/api/classes.py
  2. 20 2
      app/models/models.py

+ 12 - 11
app/api/classes.py

@@ -1,12 +1,10 @@
 from fastapi import APIRouter, Form, Depends, HTTPException, File, UploadFile
 from fastapi import APIRouter, Form, Depends, HTTPException, File, UploadFile
 from typing import List
 from typing import List
 from fastapi.responses import FileResponse
 from fastapi.responses import FileResponse
-import os
 from random import randint
 from random import randint
-import uuid
 from fastapi.security import OAuth2PasswordRequestForm
 from fastapi.security import OAuth2PasswordRequestForm
 from app.models.models import User,Favorite_course
 from app.models.models import User,Favorite_course
-from app.models.models import Class_list,Schools,Class_detail,Class_name,Registration,School_group
+from app.models.models import Class_list,Schools,Class_detail,Class_name,Registration,Group_name
 from app.api import deps
 from app.api import deps
 from sqlalchemy.orm import Session
 from sqlalchemy.orm import Session
 from typing import Any, Dict
 from typing import Any, Dict
@@ -17,9 +15,7 @@ from datetime import timedelta,datetime
 from app.config import settings
 from app.config import settings
 from pathlib import Path
 from pathlib import Path
 from jose import jwt
 from jose import jwt
-import emails
 from emails.template import JinjaTemplate
 from emails.template import JinjaTemplate
-import logging
 from tortoise.queryset import Q
 from tortoise.queryset import Q
 from fastapi.responses import HTMLResponse
 from fastapi.responses import HTMLResponse
 
 
@@ -106,6 +102,12 @@ async def insert_event(
     remark : str = Form(default='')
     remark : str = Form(default='')
 ):    
 ):    
     try:
     try:
+
+        # 檢查是否有該課程
+        class_name_list = await Class_name.filter(id=name_id).all()
+        if class_name_list == []:
+            return {"msg": "沒有此課程", "code": 200}
+        
         new_class = await Class_list.create(
         new_class = await Class_list.create(
             name_id=name_id,
             name_id=name_id,
             event =event,
             event =event,
@@ -121,6 +123,7 @@ async def insert_event(
             registration_way=registration_way,
             registration_way=registration_way,
             remark=remark
             remark=remark
         )
         )
+
         return {"msg": "success", "code": 200, "class_id": new_class.id}
         return {"msg": "success", "code": 200, "class_id": new_class.id}
     except Exception as e:
     except Exception as e:
         return {"msg": str(e), "code": 500}
         return {"msg": str(e), "code": 500}
@@ -328,7 +331,7 @@ async def delete_session(id: int):
         await Class_detail.filter(id=id).delete()
         await Class_detail.filter(id=id).delete()
         return {"msg": "success", "code": 200}
         return {"msg": "success", "code": 200}
 
 
-@classes.post("/delete_class")
+@classes.post("/delete_event")
 async def delete(id: int):
 async def delete(id: int):
     if id:
     if id:
         await Class_detail.filter(class_list_id=id).delete()
         await Class_detail.filter(class_list_id=id).delete()
@@ -398,10 +401,10 @@ async def get_school():
     except Exception as e:
     except Exception as e:
         return {"msg": str(e), "code": 500}
         return {"msg": str(e), "code": 500}
     
     
-@classes.get("/get_school_group")
+@classes.get("/get_group_name")
 async def get_school_group():
 async def get_school_group():
     try:
     try:
-        school_group_list = await School_group.all()
+        school_group_list = await Group_name.all()
         school_groups = []
         school_groups = []
         for school_obj in school_group_list:
         for school_obj in school_group_list:
             school_data = {
             school_data = {
@@ -559,7 +562,7 @@ async def add_favorite_class(
             user_id=user_id,
             user_id=user_id,
             defaults={'time_stemp': time_stemp}
             defaults={'time_stemp': time_stemp}
         )
         )
-        return {"msg": "success", "code": 200,"id":new_favorite_class}
+        return {"msg": "success", "code": 200,"is exist": not new_favorite_class[1],"id":new_favorite_class[0].id}
     except Exception as e:
     except Exception as e:
         return {"msg": str(e), "code": 500}
         return {"msg": str(e), "code": 500}
 
 
@@ -582,8 +585,6 @@ async def get_favorite_class(
         return {"msg": "success", "code": 200, "school_groups": favorite_courses}
         return {"msg": "success", "code": 200, "school_groups": favorite_courses}
     except Exception as e:
     except Exception as e:
         return {"msg": str(e), "code": 500}
         return {"msg": str(e), "code": 500}
-    
-    
 
 
 @classes.post("/delete_favorite_class")
 @classes.post("/delete_favorite_class")
 async def delete_favorite_class(
 async def delete_favorite_class(

+ 20 - 2
app/models/models.py

@@ -19,7 +19,7 @@ class Schools(Model):
     address = fields.CharField(max_length=128,description="地址")
     address = fields.CharField(max_length=128,description="地址")
     update_time = fields.DatetimeField(description="更新時間")
     update_time = fields.DatetimeField(description="更新時間")
 
 
-class School_group(Model):
+class Group_name(Model):
     id =  fields.IntField(pk=True)
     id =  fields.IntField(pk=True)
     group_name = fields.CharField(max_length=45, description="學群名稱")
     group_name = fields.CharField(max_length=45, description="學群名稱")
 
 
@@ -81,4 +81,22 @@ class Favorite_course(Model):
     id = fields.IntField(pk=True)
     id = fields.IntField(pk=True)
     user_id = fields.IntField(description="使用者ID")
     user_id = fields.IntField(description="使用者ID")
     class_event_id = fields.IntField(description="課程場次ID")
     class_event_id = fields.IntField(description="課程場次ID")
-    time_stemp = fields.DatetimeField(description="時間")
+    time_stemp = fields.DatetimeField(description="時間")
+
+class Article_list(Model):
+    id = fields.IntField(pk=True)
+    title = fields.CharField(max_length=45, description="標題")
+    school_id = fields.IntField(description="學校ID")
+    group_id = fields.IntField(description="學群")
+    create_user_id = fields.IntField(description="創建使用者ID")
+    create_time = fields.DatetimeField(description="創建時間")
+    latest_update_user_id = fields.IntField(description="最新更新使用者ID")
+    latest_update_time = fields.DatetimeField(description="最新更新時間")
+    tags = fields.TextField(description="標籤")
+    category = fields.CharField(max_length=45, description="類別")
+    depiction = fields.TextField(description="文章描述")
+    cover_img = fields.TextField( description="封面圖片")
+    vedio_url = fields.TextField( description="影片連結")
+    click_time = fields.IntField(description="點擊次數")
+    content = fields.TextField(description="內容")
+    is_del = fields.IntField(description="是否刪除")