#!/usr/bin/env python3 # -*- coding: utf-8 -*- from fastapi import APIRouter, Request, Depends,Query, HTTPException, status,BackgroundTasks from common.security import valid_access_token from fastapi.responses import JSONResponse from utils.riskManagement_uitl import * from utils.ry_system_util import * from sqlalchemy.orm import Session from sqlalchemy import and_, or_ from pydantic import BaseModel from datetime import datetime from database import get_db from typing import List from models import * from utils import * import traceback import json router = APIRouter() @router.get("/list") async def get_pattern_list( parentid: str = Query(None, description='上级ID'), leveltype: str = Query(None, description='级别'), db: Session = Depends(get_db), user_id = Depends(valid_access_token) ): try: query = db.query(GovdataCity) query = query.filter(GovdataCity.status == '1') if parentid: query = query.filter(GovdataCity.parentid==parentid) if leveltype: query = query.filter(GovdataCity.leveltype==leveltype) if parentid is None and leveltype is None: return {"code": 200, "msg": "查询成功", "data": [{"id": info.id, "name": info.name, "parentid": info.parentid} for info in []], "total": 0 } total_items = query.count() # 排序 query = query.order_by(GovdataCity.id) # 执行分页查询 infos = query.all() return {"code": 200, "msg": "查询成功", "data": [{"id": info.id, "name": info.name, "parentid": info.parentid} for info in infos], "total": total_items } except Exception as e: traceback.print_exc() raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")