|
@@ -18,6 +18,8 @@ from jose import jwt
|
|
from emails.template import JinjaTemplate
|
|
from emails.template import JinjaTemplate
|
|
from tortoise.queryset import Q
|
|
from tortoise.queryset import Q
|
|
from fastapi.responses import HTMLResponse
|
|
from fastapi.responses import HTMLResponse
|
|
|
|
+import requests
|
|
|
|
+import json
|
|
|
|
|
|
classes = APIRouter()
|
|
classes = APIRouter()
|
|
|
|
|
|
@@ -60,7 +62,8 @@ async def insert_class_name(
|
|
introduction: str = Form(default=''),
|
|
introduction: str = Form(default=''),
|
|
organizer: str = Form(default=''),
|
|
organizer: str = Form(default=''),
|
|
cover_img_file:UploadFile = File(default=''),
|
|
cover_img_file:UploadFile = File(default=''),
|
|
- group_id : int = Form(default=1)
|
|
|
|
|
|
+ group_id : int = Form(default=1),
|
|
|
|
+ group_sort :str = Form(default='')
|
|
):
|
|
):
|
|
try:
|
|
try:
|
|
cover_img = ''
|
|
cover_img = ''
|
|
@@ -80,7 +83,8 @@ async def insert_class_name(
|
|
introduction=introduction,
|
|
introduction=introduction,
|
|
organizer=organizer,
|
|
organizer=organizer,
|
|
cover_img=cover_img,
|
|
cover_img=cover_img,
|
|
- group_id=group_id
|
|
|
|
|
|
+ group_id=group_id,
|
|
|
|
+ group_sort=group_sort
|
|
)
|
|
)
|
|
update_location_time(location_id= location_id)
|
|
update_location_time(location_id= location_id)
|
|
return {"msg": "success", "code": 200, "new_class_name_id": new_class_name.id}
|
|
return {"msg": "success", "code": 200, "new_class_name_id": new_class_name.id}
|
|
@@ -198,7 +202,8 @@ async def update_class_name(
|
|
introduction: str = Form(default=''),
|
|
introduction: str = Form(default=''),
|
|
organizer: str = Form(default=''),
|
|
organizer: str = Form(default=''),
|
|
cover_img_file:UploadFile = File(default=''),
|
|
cover_img_file:UploadFile = File(default=''),
|
|
- group_id : int = Form(default=0)
|
|
|
|
|
|
+ group_id : int = Form(default=0),
|
|
|
|
+ group_sort : str = Form(default='')
|
|
):
|
|
):
|
|
try:
|
|
try:
|
|
class_name = await Class_name.get(id=class_name_id)
|
|
class_name = await Class_name.get(id=class_name_id)
|
|
@@ -230,6 +235,8 @@ async def update_class_name(
|
|
|
|
|
|
class_name.cover_img = f"{IMAGEDIR_short}{cover_img_file.filename}"
|
|
class_name.cover_img = f"{IMAGEDIR_short}{cover_img_file.filename}"
|
|
|
|
|
|
|
|
+ if group_sort != '':
|
|
|
|
+ class_name.group_sort = group_sort
|
|
|
|
|
|
await class_name.save()
|
|
await class_name.save()
|
|
|
|
|
|
@@ -455,10 +462,17 @@ async def get_school_group():
|
|
@classes.get("/get_class_name")
|
|
@classes.get("/get_class_name")
|
|
async def get_class_name(
|
|
async def get_class_name(
|
|
location_id : int = 0 ,
|
|
location_id : int = 0 ,
|
|
- class_name_id : int = 0
|
|
|
|
|
|
+ class_name_id : int = 0,
|
|
|
|
+ group_id : int = 0,
|
|
|
|
+ group_sort :str = None,
|
|
|
|
+ category :str = None
|
|
):
|
|
):
|
|
try:
|
|
try:
|
|
- if location_id == 0:
|
|
|
|
|
|
+ if group_sort:
|
|
|
|
+ class_name_list = await Class_name.filter(group_sort = group_sort).all()
|
|
|
|
+ elif category:
|
|
|
|
+ class_name_list = await Class_name.filter(Q(category__icontains=category)).all()
|
|
|
|
+ elif location_id == 0:
|
|
if class_name_id == 0 :
|
|
if class_name_id == 0 :
|
|
class_name_list = await Class_name.all()
|
|
class_name_list = await Class_name.all()
|
|
else :
|
|
else :
|
|
@@ -478,17 +492,19 @@ async def get_class_name(
|
|
else :
|
|
else :
|
|
school_obj = await Schools.get(id=class_name_obj.school_id)
|
|
school_obj = await Schools.get(id=class_name_obj.school_id)
|
|
school_name = school_obj.name
|
|
school_name = school_obj.name
|
|
- class_data = {
|
|
|
|
- "class_name_id": class_name_obj.id,
|
|
|
|
- "name": class_name_obj.name,
|
|
|
|
- "school":school_name,
|
|
|
|
- "category": class_name_obj.category,
|
|
|
|
- "introduction": class_name_obj.introduction,
|
|
|
|
- "organizer": class_name_obj.organizer,
|
|
|
|
- "group_id": class_name_obj.group_id,
|
|
|
|
- "cover_img": class_name_obj.cover_img
|
|
|
|
- }
|
|
|
|
- classes_name.append(class_data)
|
|
|
|
|
|
+ if not group_id or class_name_obj.group_id==group_id:
|
|
|
|
+ class_data = {
|
|
|
|
+ "class_name_id": class_name_obj.id,
|
|
|
|
+ "name": class_name_obj.name,
|
|
|
|
+ "school":school_name,
|
|
|
|
+ "category": class_name_obj.category,
|
|
|
|
+ "introduction": class_name_obj.introduction,
|
|
|
|
+ "organizer": class_name_obj.organizer,
|
|
|
|
+ "group_id": class_name_obj.group_id,
|
|
|
|
+ "cover_img": class_name_obj.cover_img,
|
|
|
|
+ "group_sort":group_sort
|
|
|
|
+ }
|
|
|
|
+ classes_name.append(class_data)
|
|
|
|
|
|
return {"msg": "success", "code": 200, "classes": classes_name}
|
|
return {"msg": "success", "code": 200, "classes": classes_name}
|
|
|
|
|
|
@@ -553,7 +569,7 @@ async def search_class_like(keyword: str):
|
|
}
|
|
}
|
|
classes.append(class_data)
|
|
classes.append(class_data)
|
|
|
|
|
|
- class_name_list = await Class_name.filter(Q(name__icontains=keyword)).all()
|
|
|
|
|
|
+ class_name_list = await Class_name.filter(Q(name__icontains=keyword)|Q(group_sort__icontains=keyword)).all()
|
|
|
|
|
|
for class_name in class_name_list:
|
|
for class_name in class_name_list:
|
|
class_list = await Class_list.filter(name_id=class_name.id).all()
|
|
class_list = await Class_list.filter(name_id=class_name.id).all()
|
|
@@ -731,6 +747,3 @@ async def delete_online_course(
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return {"msg": str(e), "code": 500}
|
|
return {"msg": str(e), "code": 500}
|
|
|
|
|
|
-@classes.post("/uploadfiles/")
|
|
|
|
-async def create_upload_files(files: List[UploadFile]):
|
|
|
|
- return {"filenames": [file.filename for file in files]}
|
|
|