41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
|
|
from utils.response_builder import ResponseBuilder
|
|||
|
|
from typing import Dict, Union
|
|||
|
|
|
|||
|
|
|
|||
|
|
class StatementService:
|
|||
|
|
"""流水数据服务"""
|
|||
|
|
|
|||
|
|
def get_bank_statement(self, request: Union[Dict, object]) -> Dict:
|
|||
|
|
"""获取银行流水列表
|
|||
|
|
|
|||
|
|
Args:
|
|||
|
|
request: 获取银行流水请求(可以是字典或对象)
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
银行流水响应字典
|
|||
|
|
"""
|
|||
|
|
# 支持 dict 或对象
|
|||
|
|
if isinstance(request, dict):
|
|||
|
|
page_now = request.get("pageNow", 1)
|
|||
|
|
page_size = request.get("pageSize", 10)
|
|||
|
|
else:
|
|||
|
|
page_now = request.pageNow
|
|||
|
|
page_size = request.pageSize
|
|||
|
|
|
|||
|
|
# 加载模板
|
|||
|
|
template = ResponseBuilder.load_template("bank_statement")
|
|||
|
|
statements = template["success_response"]["data"]["bankStatementList"]
|
|||
|
|
total_count = len(statements)
|
|||
|
|
|
|||
|
|
# 模拟分页
|
|||
|
|
start = (page_now - 1) * page_size
|
|||
|
|
end = start + page_size
|
|||
|
|
page_data = statements[start:end]
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
"code": "200",
|
|||
|
|
"data": {"bankStatementList": page_data, "totalCount": total_count},
|
|||
|
|
"status": "200",
|
|||
|
|
"successResponse": True,
|
|||
|
|
}
|