#!/usr/bin/env python3 # -*- coding: utf-8 -*- from fastapi import APIRouter, Request, Depends, Query, HTTPException, status from common.security import valid_access_token from sqlalchemy.orm import Session from sqlalchemy.sql import func from common.auth_user import * from sqlalchemy import text from pydantic import BaseModel from common.BigDataCenterAPI import * from database import get_db from typing import List from utils import * from utils.risk import * import json import traceback router = APIRouter() @router.post('/get_max_hazardous') async def mine(request: Request,db: Session = Depends(get_db)): try: body = await request.json() result = get_max_forest_level(db) print(result) return { "code": 200, "msg": "成功", "data": {"max_level":result} } except Exception as e: db.rollback() traceback.print_exc() raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}") def get_warning_description(level): if level == 1: return "无危险" elif level == 2: return "较低危险" elif level == 3: return "中等危险" elif level == 4: return "高火险级" elif level == 5: return "最高火险级" else: return "未知等级" @router.post('/hazardous_warrning') async def mine(request: Request,db: Session = Depends(get_db)): try: result = "当前预警等级较高的风险区域:"+"电白区、信宜市" print(result) return { "code": 200, "msg": "成功", "data": {"result":"较大风险"} } except Exception as e: db.rollback() traceback.print_exc() raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}") @router.post('/hazardous_warrning_count') async def mine(request: Request,db: Session = Depends(get_db)): try: result = get_hazardous_warring_count(db) print(result) return { "code": 200, "msg": "成功", "data": {"result":result} } except Exception as e: db.rollback() traceback.print_exc() raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")