Commit ad7340ab authored by xianyang's avatar xianyang

优化分页,转账

parent a43f40e3
...@@ -20,7 +20,7 @@ def get_roles(db: Session, param): ...@@ -20,7 +20,7 @@ def get_roles(db: Session, param):
name = param.role_name if param.role_name else "" name = param.role_name if param.role_name else ""
if name: if name:
query_res = db.query(models.Role).filter(models.Role.role_name.like(f'%{name}%')).order_by(models.Role.id.desc()).\ query_res = db.query(models.Role).filter(models.Role.role_name.like(f'%{name}%')).order_by(models.Role.id.desc()).\
offset((int(param.page) - 1) * param.size).limit(param.page * param.size).all() offset((int(param.page) - 1) * param.size).limit(param.size).all()
count = db.query(func.count(models.Role.id)).filter(models.Role.role_name.like(f'%{name}%')).scalar() count = db.query(func.count(models.Role.id)).filter(models.Role.role_name.like(f'%{name}%')).scalar()
else: else:
query_res = db.query(models.Role).order_by(models.Role.id.desc()).offset((int(param.page) - 1) * param.size).limit(param.size).all() query_res = db.query(models.Role).order_by(models.Role.id.desc()).offset((int(param.page) - 1) * param.size).limit(param.size).all()
......
...@@ -74,9 +74,9 @@ class RechargeStatement(object): ...@@ -74,9 +74,9 @@ class RechargeStatement(object):
if param.user_id: if param.user_id:
not_null_filters.append(Recharge.user_id == param.user_id) not_null_filters.append(Recharge.user_id == param.user_id)
if param.sid: if param.sid:
not_null_filters.append(Recharge.sid.like(param.sid)) not_null_filters.append(Recharge.sid.like(f'%{param.sid}%'))
if param.pay_channel: if param.pay_channel:
not_null_filters.append(Recharge.pay_channel.like(param.pay_channel)) not_null_filters.append(Recharge.pay_channel.like(f'%{param.pay_channel}%'))
if param.start_time: if param.start_time:
not_null_filters.append(Recharge.current >= param.start_time) not_null_filters.append(Recharge.current >= param.start_time)
if param.end_time: if param.end_time:
......
import json
import math import math
import threading import threading
from sqlalchemy import and_, func, engine from sqlalchemy import and_, func, engine
...@@ -162,15 +163,17 @@ def query_token(db, h_list): ...@@ -162,15 +163,17 @@ def query_token(db, h_list):
def transfer_trigger_task(db, data): def transfer_trigger_task(db, data):
"""转账验证""" """转账验证"""
try: try:
dst = db.query(Account).filter(Account.id == data.dst_id).first() # 转出 dst = db.query(Account).filter(Account.uuid == data.dst_id).first() # 转出
transfer = db.query(Account).filter(Account.id == data.transfer_id).first() # 转入 transfer = db.query(Account).filter(Account.uuid == data.transfer_id).first() # 转入
if float(dst.consumable) < data.amount:
return "账户余额不足"
dst.consumable = float(dst.consumable) - data.amount dst.consumable = float(dst.consumable) - data.amount
transfer.consumable = float(transfer.consumable) + data.amount transfer.consumable = float(transfer.consumable) + data.amount
db.commit() db.commit()
except Exception as e: except Exception as e:
db.rollback() db.rollback()
return False return "操作失败"
return True return ""
def transfer_money(db: Session, param, h_list): def transfer_money(db: Session, param, h_list):
...@@ -199,8 +202,8 @@ def transfer_money(db: Session, param, h_list): ...@@ -199,8 +202,8 @@ def transfer_money(db: Session, param, h_list):
transfer_name = income.name if income else "" transfer_name = income.name if income else ""
# 转账 # 转账
is_success = transfer_trigger_task(db, param) is_success = transfer_trigger_task(db, param)
if not is_success: if is_success:
return False return is_success
try: try:
present = Fitransferlog(dst_id=param.dst_id, dst_name=dst_name, amount=param.amount, type=param.type, present = Fitransferlog(dst_id=param.dst_id, dst_name=dst_name, amount=param.amount, type=param.type,
transfer_id=param.transfer_id, nick_name=param.nick_name, remark=param.remark, transfer_id=param.transfer_id, nick_name=param.nick_name, remark=param.remark,
...@@ -210,8 +213,8 @@ def transfer_money(db: Session, param, h_list): ...@@ -210,8 +213,8 @@ def transfer_money(db: Session, param, h_list):
db.commit() db.commit()
db.refresh(present) db.refresh(present)
except Exception as e: except Exception as e:
return e
return {} return {}
return present
def create_fix_table(db: Session, param, h_list): def create_fix_table(db: Session, param, h_list):
......
...@@ -119,9 +119,9 @@ def account_transfer_money(data: CreateBill, request: Request, ...@@ -119,9 +119,9 @@ def account_transfer_money(data: CreateBill, request: Request,
return HttpResultResponse(code=500, msg="缺少必传参数") return HttpResultResponse(code=500, msg="缺少必传参数")
header_list = request.get("headers") header_list = request.get("headers")
res_info = transfer_money(db, data, header_list) res_info = transfer_money(db, data, header_list)
if not res_info: if res_info:
return HttpResultResponse(code=500, msg='创建失败') return HttpResultResponse(code=500, msg=res_info)
return HttpResultResponse(data=res_info.id) return HttpResultResponse()
@router.post("/guild/update") @router.post("/guild/update")
......
...@@ -22,10 +22,10 @@ def get_users(db: Session, param): ...@@ -22,10 +22,10 @@ def get_users(db: Session, param):
""" """
username = param.username if param.username else "" username = param.username if param.username else ""
if username: if username:
res = db.query(models.User).filter(models.User.username.like(f'%{username}%')).order_by(models.User.id.desc()).offset((int(param.page) - 1) * param.size).limit(param.page * param.size) res = db.query(models.User).filter(models.User.username.like(f'%{username}%')).order_by(models.User.id.desc()).offset((int(param.page) - 1) * param.size).limit(param.size)
count = db.query(func.count(models.User.id)).filter(models.User.username.like(f'%{username}%')).scalar() count = db.query(func.count(models.User.id)).filter(models.User.username.like(f'%{username}%')).scalar()
else: else:
res = db.query(models.User).order_by(models.User.id.desc()).offset((int(param.page) - 1) * param.size).limit(param.page * param.size) res = db.query(models.User).order_by(models.User.id.desc()).offset((int(param.page) - 1) * param.size).limit(param.size)
count = db.query(func.count(models.User.id)).scalar() count = db.query(func.count(models.User.id)).scalar()
if not res: if not res:
return [], 0 return [], 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment