msg_center.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from fastapi import APIRouter, Request, Depends, HTTPException, Query
  4. from sqlalchemy.exc import IntegrityError
  5. from fastapi.responses import HTMLResponse, FileResponse
  6. from fastapi.responses import JSONResponse
  7. from database import get_db
  8. from sqlalchemy import text, exists, and_, or_, not_
  9. from sqlalchemy.orm import Session
  10. from models import *
  11. import json
  12. import os
  13. from sqlalchemy import create_engine, select
  14. from typing import Optional
  15. from utils.StripTagsHTMLParser import *
  16. from common.db import db_event_management, db_user, db_area, db_msg_center
  17. from common.security import valid_access_token
  18. import traceback
  19. from utils import *
  20. from datetime import datetime, timedelta
  21. from common import YzyApi
  22. from common.db import db_dict
  23. from urllib.parse import quote
  24. import base64
  25. from io import BytesIO
  26. from PIL import Image
  27. from config import settings
  28. router = APIRouter()
  29. @router.post("/unread_msg_count")
  30. async def msg_count(
  31. request: Request,
  32. body = Depends(remove_xss_json),
  33. db: Session = Depends(get_db),
  34. user_id = Depends(valid_access_token)):
  35. try:
  36. msg_types = get_req_param(body, "msg_types")
  37. msg_type_list = msg_types.split(",")
  38. data = db_msg_center.get_unread_msg_count(db, user_id, msg_type_list)
  39. return {
  40. "code": 200,
  41. "msg": "反馈成功",
  42. "data": data
  43. }
  44. except Exception as e:
  45. # 处理异常
  46. traceback.print_exc()
  47. raise HTTPException(status_code=500, detail=str(e))