导出优化,上传端代码
This commit is contained in:
@@ -4,6 +4,7 @@ from sqlalchemy.orm import Session
|
||||
from typing import Optional, Dict, Any
|
||||
from ..core.database import get_db
|
||||
from ..core.response_code import ResponseCode, ResponseMessage
|
||||
from ..core.exceptions import BusinessException, DataNotFoundException, AccountNotFoundException
|
||||
from ..schemas.export_excel import ExportExcelRequest, ExportSettlementRequest
|
||||
from ..services.section_data import SectionDataService
|
||||
from ..services.export_excel import ExportExcelService
|
||||
@@ -133,18 +134,44 @@ def export_settlement_data(
|
||||
media_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
||||
)
|
||||
|
||||
except ValueError as ve:
|
||||
logger.warning(f"导出沉降数据失败: {str(ve)}")
|
||||
return {
|
||||
"code": ResponseCode.PARAM_ERROR,
|
||||
"message": str(ve),
|
||||
"data": None
|
||||
}
|
||||
except AccountNotFoundException as e:
|
||||
logger.warning(f"账号不存在: {str(e)}")
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail={
|
||||
"code": e.code,
|
||||
"message": e.message,
|
||||
"data": None
|
||||
}
|
||||
)
|
||||
except DataNotFoundException as e:
|
||||
logger.warning(f"数据不存在: {str(e)}")
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail={
|
||||
"code": e.code,
|
||||
"message": e.message,
|
||||
"data": None
|
||||
}
|
||||
)
|
||||
except BusinessException as e:
|
||||
logger.warning(f"业务异常: {str(e)}")
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
detail={
|
||||
"code": e.code,
|
||||
"message": e.message,
|
||||
"data": None
|
||||
}
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"导出沉降数据失败: {str(e)}", exc_info=True)
|
||||
return {
|
||||
"code": ResponseCode.EXPORT_FAILED,
|
||||
"message": f"{ResponseMessage.EXPORT_FAILED}: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||
detail={
|
||||
"code": ResponseCode.EXPORT_FAILED,
|
||||
"message": f"{ResponseMessage.EXPORT_FAILED}: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user