1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #!/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)}")
|