删除数据接口
This commit is contained in:
@@ -6,7 +6,9 @@ from ..core.response_code import ResponseCode, ResponseMessage
|
||||
from ..schemas.level_data import (
|
||||
LevelDataRequest,
|
||||
LevelDataListResponse,
|
||||
LevelDataResponse
|
||||
LevelDataResponse,
|
||||
BatchDeleteByLinecodesRequest,
|
||||
BatchDeleteByLinecodesResponse
|
||||
)
|
||||
from ..services.level_data import LevelDataService
|
||||
|
||||
@@ -31,4 +33,29 @@ def get_level_data_by_project(request: LevelDataRequest, db: Session = Depends(g
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||
detail=f"查询失败: {str(e)}"
|
||||
)
|
||||
|
||||
|
||||
@router.post("/batch_delete_by_linecodes", response_model=BatchDeleteByLinecodesResponse)
|
||||
def batch_delete_by_linecodes(request: BatchDeleteByLinecodesRequest, db: Session = Depends(get_db)):
|
||||
"""
|
||||
根据水准线路编码列表批量删除相关数据
|
||||
删除顺序:原始数据 → 沉降数据 → 观测点数据 → 水准数据
|
||||
删除前会备份数据为SQL文件
|
||||
"""
|
||||
try:
|
||||
level_service = LevelDataService()
|
||||
result = level_service.batch_delete_by_linecodes(db, linecodes=request.linecodes)
|
||||
|
||||
return BatchDeleteByLinecodesResponse(
|
||||
code=0 if result['success'] else 1,
|
||||
message=result['message'],
|
||||
success=result['success'],
|
||||
backup_file=result.get('backup_file'),
|
||||
deleted_counts=result.get('deleted_counts')
|
||||
)
|
||||
except Exception as e:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||
detail=f"批量删除失败: {str(e)}"
|
||||
)
|
||||
Reference in New Issue
Block a user