Selaa lähdekoodia

空间分析优化调整。

baoyubo 6 kuukautta sitten
vanhempi
commit
d9acd29eb4

+ 1 - 1
routers/api/spatialAnalysis/__init__.py

@@ -41,7 +41,7 @@ async def mine(request: Request,body = Depends(remove_xss_json),db: Session = De
         # 行政镇、行政村数据
         # town_village_data,town_count,village_count = count_town_village(from_data.location,db)
         # town_village_data,town_count = get_town_list(body)
-        town_village_data,town_count,village_count = get_town_village_list(body,db)
+        town_village_data,town_count,village_count = get_town_village_list(body,db) #[],0,0#
         # emergency_expert_count = count_emergency_expert(from_data.location,db)
         # emergency_management_count = count_emergency_management(from_data.location,db)
         hospital_list = get_hospital_list(body,db)

+ 44 - 4
routers/prod_api/system/dic/__init__.py

@@ -3,16 +3,19 @@
 
 from fastapi import APIRouter, Request, Depends, Query, HTTPException, status
 from common.security import valid_access_token
-from pydantic import BaseModel
-from database import get_db
+from fastapi.responses import JSONResponse
 from sqlalchemy.orm import Session
 from sqlalchemy import and_, or_
+from sqlalchemy.sql import func
+from common.auth_user import *
+from pydantic import BaseModel
+from database import get_db
 from typing import List
 from models import *
 from utils import *
-from common.auth_user import *
+import traceback
 import json
-from sqlalchemy.sql import func
+
 router = APIRouter()
 
 
@@ -549,3 +552,40 @@ async def delete_dict_data(
         if str(e)=='':
             e=detail
         raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(e))
+
+@router.delete("/data/{dictCode}")  # 使用 ID 来标识要删除的接口
+async def delete_dict_data(
+    dictCode: str,
+    db: Session = Depends(get_db),
+    body = Depends(remove_xss_json),
+    user_id = Depends(valid_access_token)
+):
+    try:
+        # 从数据库中获取要删除的 OneShareApiEntity 实例
+        query = db.query(SysDictData)
+        query = query.filter(SysDictData.del_flag != '2')
+        dictCodeList = dictCode.split(',')
+        query = query.filter(SysDictData.dict_code.in_(dictCodeList))
+        dict_data = query.all()
+        # dict_data = db.query(SysDictData).filter(SysDictData.dict_code == dictCode and SysDictData.del_flag != '2').first()
+
+        if not dict_data:
+            return JSONResponse(content={"msg":"dict不存在"},status_code=404)
+            # detail = "dict不存在"
+            # raise HTTPException(status_code=404, detail="dict不存在")
+        for dict in dict_data:
+            dict.del_flag = '2'
+        # 删除实例
+        # db.delete(api)
+        db.commit()
+
+        # 构建并返回响应
+        return {
+            "code": 200,
+            "msg": "操作成功",
+            "data": None
+        }
+    except Exception as e:
+        # 处理异常
+        traceback.print_exc()
+        raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(e))

+ 1 - 1
utils/StripTagsHTMLParser.py

@@ -29,7 +29,7 @@ async def remove_xss_json(request: Request) -> dict:
         parser.feed(body)
         data = parser.getData()
         data = json.loads(data)
-        print("remove_xss_json>>>>>")
+        # print("remove_xss_json>>>>>")
         logger.info(data)
         return data
     except:

+ 2 - 2
utils/spatial/__init__.py

@@ -26,7 +26,7 @@ def get_town_list2(location_list:list,db):
     for location in location_list:
         location = convert_to_polygon(location)
         sql = text(f"""SELECT DISTINCT `name`,geometry,properties,pac FROM tp_geojson_data_zj WHERE ST_Intersects(geometry,ST_PolygonFromText( '{location}', 4326 ))""")
-
+        # print(sql)
         resutl+=db.execute(sql).all()
     return resutl
 
@@ -35,7 +35,7 @@ def get_village_list(location_list:list,db,pac=''):
     for location in location_list:
         location = convert_to_polygon(location)
         sql = text(f"""SELECT DISTINCT `name`,geometry,properties,pac FROM (select * from tp_geojson_data_cj_sq  {pac})A WHERE ST_Intersects(geometry,ST_PolygonFromText( '{location}', 4326 )) """)
-
+        # print(sql)
         resutl+=db.execute(sql).all()
     return resutl