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