|
@@ -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))
|