123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- from fastapi import APIRouter, Form, Depends, HTTPException, File, UploadFile
- from typing import List,Optional,Union
- from fastapi.responses import FileResponse
- from random import randint
- from fastapi.security import OAuth2PasswordRequestForm
- from app.models.models import Guidance_group
- from app.api import deps
- from sqlalchemy.orm import Session
- from typing import Any, Dict
- import secrets
- from fastapi_login.exceptions import InvalidCredentialsException
- from fastapi_login import LoginManager
- from datetime import timedelta,datetime
- from jose import jwt
- from emails.template import JinjaTemplate
- from tortoise.queryset import Q
- from fastapi.responses import HTMLResponse
- guidance = APIRouter()
- @guidance.get("/get_guidance_group")
- async def get_guidance_group(
- guidance_group_id : Optional[int] = None
- ):
- try:
- if guidance_group_id :
- news_list = await Guidance_group.filter(id=guidance_group_id).all()
- else:
- news_list = await Guidance_group.all()
- news_objs = []
- for news_obj in news_list:
- news_tmp = {
- "guidance_group_id": news_obj.id,
- "name": news_obj.name,
- "contact_person": news_obj.contact_person,
- "contact_phone" : news_obj.contact_phone,
- "line" : news_obj.line,
- "remark" : news_obj.remark,
- "address" : news_obj.address,
- "email" : news_obj.email,
- "information" : news_obj.information,
- "request" : news_obj.request,
- "schedule": news_obj.schedule,
- "result" : news_obj.result,
- "person" : news_obj.person
- }
- news_objs.append(news_tmp)
- return {"msg": "success", "code": 200, "Guidance_groups": news_objs}
- except Exception as e:
- return {"msg": str(e), "code": 500}
- @guidance.post("/insert_guidance_group")
- async def insert_news(
- name : str = Form(default=''),
- contact_person : str = Form(default=''),
- contact_phone :str = Form(default=''),
- line : int = Form(default=0),
- remark : str = Form(default=''),
- address : str = Form(default=''),
- email : str = Form(default=''),
- information : str = Form(default=''),
- request : str = Form(default=''),
- schedule : str = Form(default=''),
- result : str = Form(default=''),
- person : str = Form(default='')
- ):
- try:
- new_news = await Guidance_group.create(
- name=name,
- contact_person=contact_person,
- contact_phone=contact_phone,
- line = line,
- email = email,
- remark =remark,
- address = address,
- information = information,
- request = request,
- schedule = schedule ,
- result = result,
- person = person
- )
-
- return {"msg": "success", "code": 200, "new_Guidance_group": new_news.id}
- except Exception as e:
- return {"msg": str(e), "code": 500}
- @guidance.post("/update_guidance_group")
- async def update_news(
- guidance_group_id : int = Form(default=None),
- name : str = Form(default=''),
- contact_person : str = Form(default=''),
- contact_phone :str = Form(default=''),
- line : int = Form(default=None),
- remark : str = Form(default=''),
- address : str = Form(default=''),
- email : str = Form(default=''),
- information : str = Form(default=''),
- request : str = Form(default=''),
- schedule : str = Form(default=''),
- result : str = Form(default=''),
- person : str = Form(default='')
- ):
- try:
- if not guidance_group_id :
- return {"msg": "no ID"}
-
- news_obj = await Guidance_group.get(id=guidance_group_id)
- if name.strip() != '':
- news_obj.name = name
-
- if contact_person.strip() != '':
- news_obj.contact_person = contact_person
- if contact_phone.strip() != '':
- news_obj.contact_phone = contact_phone
- if line != None:
- news_obj.line = line
- if email != None:
- news_obj.email = email
- if information != None:
- news_obj.information = information
- if request != None:
- news_obj.request = request
- if schedule != None:
- news_obj.schedule = schedule
- if result != None:
- news_obj.result = result
- if person != None:
- news_obj.person = person
- if remark.strip() != '':
- news_obj.remark = remark
- if address.strip() != '':
- news_obj.address = address
-
- await news_obj.save()
-
- return {"msg": "success", "code": 200}
- except Exception as e:
- return {"msg": str(e), "code": 500}
- @guidance.post("/delete_guidance_group")
- async def delete_guidance_group(guidance_group_id: Optional[int] = None):
- if guidance_group_id :
- await Guidance_group.filter(id=guidance_group_id).delete()
- return {"msg": "success", "code": 200}
- else :
- return {"msg": "please input ID", "code": 200}
|