#!/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 models import * from utils import * from utils.spatial import * import json import traceback from jobs.rainfall_conditions_job import get_stcd_data from datetime import datetime,timedelta router = APIRouter() @router.get("/list") async def get_list( area_name: str, db: Session = Depends(get_db) ): try: sql = text("""SELECT * from sharedb.chemical_company""") if area_name : sql.bindparams(area_name=area_name).where(text("area = :area_name")) result = db.execute(sql).fetchall() # 将结果转换为rain_pits.py字典列表 result_list = [] for row in result: result_list.append(dict(row)) return result_list except Exception as e: traceback.print_exc() raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")