update 充值记录增加分页
This commit is contained in:
parent
6383555556
commit
f9034f157a
@ -16,7 +16,7 @@ async def get_recharge_record(ns={}):
|
|||||||
try:
|
try:
|
||||||
user_id = await get_user()
|
user_id = await get_user()
|
||||||
if not user_id:
|
if not user_id:
|
||||||
return {'status': False, 'message': 'user_id is missing'}
|
server_error(401)
|
||||||
|
|
||||||
result = await sor.R('users', {'id': user_id})
|
result = await sor.R('users', {'id': user_id})
|
||||||
if not result:
|
if not result:
|
||||||
@ -28,17 +28,35 @@ async def get_recharge_record(ns={}):
|
|||||||
# recharge_path = 0
|
# recharge_path = 0
|
||||||
recharge_path = ns.get('recharge_path')
|
recharge_path = ns.get('recharge_path')
|
||||||
params = {'start_time': start_time, 'end_time': end_time, 'recharge_path': recharge_path, 'orgid': orgid}
|
params = {'start_time': start_time, 'end_time': end_time, 'recharge_path': recharge_path, 'orgid': orgid}
|
||||||
|
|
||||||
|
# 增加分页功能
|
||||||
|
page = ns.get('page', 1)
|
||||||
|
size = ns.get('size', 20)
|
||||||
|
offset = (page - 1) * size
|
||||||
|
|
||||||
|
# 构建COUNT查询
|
||||||
|
total_sql = "SELECT COUNT(*) AS total_count FROM recharge_log WHERE del_flg = 0 AND customerid = ${orgid}$"
|
||||||
|
|
||||||
sql = "SELECT * FROM recharge_log WHERE del_flg = 0 AND customerid = ${orgid}$"
|
sql = "SELECT * FROM recharge_log WHERE del_flg = 0 AND customerid = ${orgid}$"
|
||||||
if start_time and end_time:
|
if start_time and end_time:
|
||||||
sql += " AND create_at BETWEEN ${start_time}$ AND ${end_time}$"
|
sql += " AND create_at BETWEEN ${start_time}$ AND ${end_time}$"
|
||||||
|
total_sql += " AND create_at BETWEEN ${start_time}$ AND ${end_time}$"
|
||||||
if recharge_path is not None:
|
if recharge_path is not None:
|
||||||
sql += " AND recharge_path = ${recharge_path}$"
|
sql += " AND recharge_path = ${recharge_path}$"
|
||||||
|
total_sql += " AND recharge_path = ${recharge_path}$"
|
||||||
|
|
||||||
|
# 添加排序但不添加分页限制到主查询
|
||||||
|
sql += " ORDER BY create_at DESC"
|
||||||
|
|
||||||
|
# 执行COUNT查询获取总记录数
|
||||||
|
total_result = await sor.sqlExe(total_sql, params)
|
||||||
|
total_count = total_result[0]['total_count'] if total_result else 0
|
||||||
|
|
||||||
|
# 执行查询获取所有匹配记录
|
||||||
reacs = await sor.sqlExe(sql, params)
|
reacs = await sor.sqlExe(sql, params)
|
||||||
|
|
||||||
if not reacs:
|
if not reacs:
|
||||||
return {'status': True, 'message': 'No recharge records'}
|
return {'status': True, 'message': 'No recharge records', 'pagination': {'page': page, 'size': size, 'total': 0}}
|
||||||
|
|
||||||
for recharge in reacs:
|
for recharge in reacs:
|
||||||
if recharge['recharge_sno']:
|
if recharge['recharge_sno']:
|
||||||
@ -75,7 +93,11 @@ async def get_recharge_record(ns={}):
|
|||||||
recharge_amount += round(float(recharge['recharge_amt']), 2)
|
recharge_amount += round(float(recharge['recharge_amt']), 2)
|
||||||
elif recharge['action'] in ['RECHARGE_REVERSE', 'RECHARGE_ALIPAY_REVERSE']:
|
elif recharge['action'] in ['RECHARGE_REVERSE', 'RECHARGE_ALIPAY_REVERSE']:
|
||||||
recharge_reverse_amount += round(float(recharge['recharge_amt']), 2)
|
recharge_reverse_amount += round(float(recharge['recharge_amt']), 2)
|
||||||
|
|
||||||
|
# 在过滤后应用分页
|
||||||
recharge_records.sort(key=lambda x: x['create_at'], reverse=True)
|
recharge_records.sort(key=lambda x: x['create_at'], reverse=True)
|
||||||
|
# 应用分页
|
||||||
|
paginated_records = recharge_records[offset:offset + size]
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@ -83,10 +105,15 @@ async def get_recharge_record(ns={}):
|
|||||||
return {
|
return {
|
||||||
'status': True,
|
'status': True,
|
||||||
'message': 'ok',
|
'message': 'ok',
|
||||||
'recharge_records': recharge_records,
|
'recharge_records': paginated_records,
|
||||||
'actual_amount': round(total_amount, 2),
|
'actual_amount': round(total_amount, 2),
|
||||||
'recharge_amount': round(recharge_amount, 2),
|
'recharge_amount': round(recharge_amount, 2),
|
||||||
'charged_amount': round(recharge_reverse_amount, 2)
|
'charged_amount': round(recharge_reverse_amount, 2),
|
||||||
|
'pagination': {
|
||||||
|
'page': page,
|
||||||
|
'size': size,
|
||||||
|
'total': len(recharge_records) # 使用过滤后的总记录数
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = await get_recharge_record(params_kw)
|
ret = await get_recharge_record(params_kw)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user