Forráskód Böngészése

school update time

Mia Cheng 2 éve
szülő
commit
93a9e65f9f
2 módosított fájl, 49 hozzáadás és 39 törlés
  1. 48 39
      app/api/classes.py
  2. 1 0
      app/models/models.py

+ 48 - 39
app/api/classes.py

@@ -26,6 +26,13 @@ classes = APIRouter()
 IMAGEDIR = "/var/www/html/ntcri/assets/"
 IMAGEDIR_short = "assets/"
 
+async def update_location_time(location_id: int):
+    if location_id:
+        school = await Schools.get(id=location_id)
+        school.update_time = datetime.now()
+        await school.save()
+        return {"msg": "success", "code": 200}
+
 @classes.post("/insert_school")
 async def insert_school(
     location_name: str = Form(default=''),
@@ -50,7 +57,7 @@ async def insert_school(
 @classes.post("/insert_class_name")
 async def insert_class_name(
     name: str = Form(default=''),
-    school_id: int = Form(default=1),
+    location_id: int = Form(default=1),
     category: str = Form(default=''),
     introduction: str = Form(default=''),
     organizer: str = Form(default=''),
@@ -69,13 +76,13 @@ async def insert_class_name(
 
         new_class_name = await Class_name.create(
             name=name,
-            school_id=school_id,
+            school_id=location_id,
             category=category,
             introduction=introduction,
             organizer=organizer,
             cover_img=cover_img
         )
-
+        update_location_time(location_id= location_id)
         return {"msg": "success", "code": 200, "new_class_name_id": new_class_name.id}
     except Exception as e:
         return {"msg": str(e), "code": 500}
@@ -165,6 +172,8 @@ async def update_school(
             school.address =  address
 
         await school.save()
+
+        update_location_time(location_id= location_id)
         return {"msg": "success", "code": 200}
     except Exception as e:
         return {"msg": str(e), "code": 500}
@@ -173,7 +182,7 @@ async def update_school(
 async def update_class_name(
     class_name_id: int = Form(default=0),
     name: str = Form(default=''),
-    school_id: int = Form(default=''),
+    location_id: int = Form(default=''),
     category: str = Form(default=''),
     introduction: str = Form(default=''),
     organizer: str = Form(default=''),
@@ -185,8 +194,8 @@ async def update_class_name(
         if name.strip() != '':
             class_name.name = name
 
-        if school_id != '':
-            class_name.school_id = school_id
+        if location_id != '':
+            class_name.school_id = location_id
         
         if category.strip() != '':
             class_name.category = category
@@ -207,6 +216,8 @@ async def update_class_name(
 
 
         await class_name.save()
+
+        update_location_time(location_id= location_id)
         return {"msg": "success", "code": 200}
     except Exception as e:
         return {"msg": str(e), "code": 500}
@@ -303,6 +314,12 @@ async def update_session(
     except Exception as e:
         return {"msg": str(e), "code": 500}
 
+@classes.post("/delete_school")
+async def delete_school(location_id: int):
+    if location_id:
+        await Schools.filter(id=location_id).delete()
+        return {"msg": "success", "code": 200}
+
 @classes.post("/delete_class")
 async def delete(id: int):
     if id:
@@ -359,7 +376,8 @@ async def get_school():
                 "Lng": school_obj.longitude,
                 "Lat": school_obj.latitude,
                 "group_id": school_obj.group_id,
-                "address": school_obj.address
+                "address": school_obj.address,
+                "update_time":school_obj.update_time
             }
             schools.append(school_data)
 
@@ -385,43 +403,34 @@ async def get_school_group():
 
 @classes.get("/get_class_name")
 async def get_class_name(
-    school_id : int = 0
+    location_id : int = 0 ,
+    class_name_id : int = 0
 ):
     try:
-        if school_id == 0:
-            class_name_list = await Class_name.all()
-            classes_name = []
-            for class_name_obj in class_name_list:
-                school_obj = await Schools.get(id=class_name_obj.school_id)
-                class_data = {
-                    "class_name_id": class_name_obj.id,
-                    "name": class_name_obj.name,
-                    "school":school_obj.name,
-                    "category": class_name_obj.category,
-                    "introduction": class_name_obj.introduction,
-                    "organizer": class_name_obj.organizer,
-                    "cover_img": class_name_obj.cover_img
-                }
-                classes_name.append(class_data)
+        if location_id == 0:
+            if class_name_id == 0 :
+                class_name_list = await Class_name.all()
+            else :
+                class_name_list = await Class_name.filter(id = class_name_id).all()
         else:
-            class_name_list = await Class_name.filter(school_id = school_id).all()
-            classes_name = []
-            for class_name_obj in class_name_list:
-                school_obj = await Schools.get(id=class_name_obj.school_id)
-                class_data = {
-                    "msg": "success",
-                    "code": 200,
-                    "class_name_id": class_name_obj.id,
-                    "name": class_name_obj.name,
-                    "school":school_obj.name,
-                    "category": class_name_obj.category,
-                    "introduction": class_name_obj.introduction,
-                    "organizer": class_name_obj.organizer,
-                    "cover_img": class_name_obj.cover_img
-                }
-                classes_name.append(class_data)
+            class_name_list = await Class_name.filter(school_id = location_id).all()
+
+        classes_name = []
+        for class_name_obj in class_name_list:
+            school_obj = await Schools.get(id=class_name_obj.school_id)
+            class_data = {
+                "class_name_id": class_name_obj.id,
+                "name": class_name_obj.name,
+                "school":school_obj.name,
+                "category": class_name_obj.category,
+                "introduction": class_name_obj.introduction,
+                "organizer": class_name_obj.organizer,
+                "cover_img": class_name_obj.cover_img
+            }
+            classes_name.append(class_data)
 
         return {"msg": "success", "code": 200, "classes": classes_name}
+    
     except Exception as e:
         return {"msg": str(e), "code": 500}    
     

+ 1 - 0
app/models/models.py

@@ -17,6 +17,7 @@ class Schools(Model):
     latitude = fields.CharField(max_length=100, description="緯度")
     group_id = fields.IntField(description="學群")
     address = fields.CharField(max_length=128,description="地址")
+    update_time = fields.DatetimeField(description="更新時間")
 
 class School_group(Model):
     id =  fields.IntField(pk=True)