Commit 2de2d5e4 authored by xupeng's avatar xupeng

列表条件筛选提交

parent b112f1db
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<excludeFolder url="file://$MODULE_DIR$/fs-env" /> <excludeFolder url="file://$MODULE_DIR$/fs-env" />
<excludeFolder url="file://$MODULE_DIR$/venv" /> <excludeFolder url="file://$MODULE_DIR$/venv" />
</content> </content>
<orderEntry type="jdk" jdkName="Python 3.8 (financial-system)" jdkType="Python SDK" /> <orderEntry type="jdk" jdkName="Python 3.8 (financial_system)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
<component name="PyDocumentationSettings"> <component name="PyDocumentationSettings">
......
This diff is collapsed.
...@@ -7,7 +7,7 @@ from sqlalchemy import and_, func, engine ...@@ -7,7 +7,7 @@ from sqlalchemy import and_, func, engine
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from core.config.env import env from core.config.env import env
from libs.db_link import LinkMysql from libs.db_link import LinkMysql
from libs.functions import get_now_timestamp, get_now_datetime, search, get_order, get_ip from libs.functions import get_now_timestamp, get_now_datetime, search, get_order, get_ip, time_str_to_timestamp
from libs.orm import QueryAllData from libs.orm import QueryAllData
from libs.token_verify import get_current_user from libs.token_verify import get_current_user
from models.recharge import Settlement, Fitransferlog, FinanceFixLog, Account_log, Paymentlog from models.recharge import Settlement, Fitransferlog, FinanceFixLog, Account_log, Paymentlog
...@@ -22,7 +22,7 @@ locka = threading.Lock() ...@@ -22,7 +22,7 @@ locka = threading.Lock()
class GuildSet(object): class GuildSet(object):
def __init__(self): def __init__(self):
self.settlement_list = [] self.settlement_list = []
self.linkmysql = LinkMysql(env.MysqlDB) self.linkmysql = LinkMysql(env.DB_3YV2)
def dispose_guild_data(self, db, num): def dispose_guild_data(self, db, num):
guild_list = [] guild_list = []
...@@ -74,11 +74,28 @@ class GuildSet(object): ...@@ -74,11 +74,28 @@ class GuildSet(object):
# return guild_info[(int(param.page) - 1) * param.size:param.size * param.page], len(guild_info) # return guild_info[(int(param.page) - 1) * param.size:param.size * param.page], len(guild_info)
# return [], 0 # return [], 0
def get_guild_data(self, page, size): def get_guild_data(self, page, size,status,start_time,end_time,guild_id):
count_sql = f'SELECT count(*) FROM `guild_settlement_log` as t inner join guild as g on g.id=t.guild_id' query = []
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") # 总条数 if start_time:
sql = f'SELECT t.guild_id,b.card_no as account,t.guild_name,IFNULL(t.balance,0) +IFNULL(t.pearl,0) as all_money,FROM_UNIXTIME(t.create_time,"%Y-%c-%d %h:%i:%s") as create_time,t.`status`,b.bank_of_deposit_name as bank_name FROM `guild_settlement_log` as t inner join guild as g on g.id=t.guild_id LEFT JOIN bind_bank as b on b.guild_id=t.guild_id ORDER BY t.id limit {page},{(size)}' query.append(f" create_time >= {time_str_to_timestamp(start_time + ' 00:00:00')} ")
statement_list = self.linkmysql.query_mysql(sql) # 提现总数 if end_time:
query.append(f" update_time < {time_str_to_timestamp(end_time + ' 23:59:59')} ")
if guild_id:
query.append(f"guild_id={guild_id} ")
if status:
query.append(f"status={status} ")
if query==[]:
count_sql = f'SELECT count(*) FROM `guild_settlement_log` as t inner join guild as g on g.id=t.guild_id'
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") # 总条数
sql = f'SELECT t.guild_id,b.card_no as account,t.guild_name,IFNULL(t.balance,0) +IFNULL(t.pearl,0) as all_money,FROM_UNIXTIME(t.create_time,"%Y-%c-%d %h:%i:%s") as create_time,t.`status`,b.bank_of_deposit_name as bank_name FROM `guild_settlement_log` as t inner join guild as g on g.id=t.guild_id LEFT JOIN bind_bank as b on b.guild_id=t.guild_id ORDER BY t.id limit {(int(page) - 1) * page},{size} '
statement_list = self.linkmysql.query_mysql(sql) # 提现总数
else:
query = ' and '.join(query).replace('create_time','t.create_time').replace('update_time','t.update_time').replace('status','t.status').replace('guild_id','t.guild_id')
print(query)
count_sql = f'SELECT count(*) FROM `guild_settlement_log` as t inner join guild as g on g.id=t.guild_id where {query}'
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") # 总条数
sql = f'SELECT t.guild_id,b.card_no as account,t.guild_name,IFNULL(t.balance,0) +IFNULL(t.pearl,0) as all_money,FROM_UNIXTIME(t.create_time,"%Y-%c-%d %h:%i:%s") as create_time,t.`status`,b.bank_of_deposit_name as bank_name FROM `guild_settlement_log` as t inner join guild as g on g.id=t.guild_id LEFT JOIN bind_bank as b on b.guild_id=t.guild_id where {query} ORDER BY t.id limit {(int(page) - 1) * page},{size} '
statement_list = self.linkmysql.query_mysql(sql) # 提现总数
return statement_list, count return statement_list, count
def update_guild_info(self, data): def update_guild_info(self, data):
...@@ -92,12 +109,21 @@ class GuildSet(object): ...@@ -92,12 +109,21 @@ class GuildSet(object):
self.linkmysql.excete_mysql(guild_sql) self.linkmysql.excete_mysql(guild_sql)
def paymentset_guild_data(page, size): def paymentset_guild_data(page, size,start_time,end_time):
count_sql = f"SELECT count(*) FROM `payment_log`" query = []
paymentset_sql = LinkMysql(env.MysqlDB).query_mysql(count_sql) if start_time:
query.append(f"create_time >= {time_str_to_timestamp(start_time + ' 00:00:00')} ")
if end_time:
query.append(f" create_time < {time_str_to_timestamp(end_time + ' 23:59:59')} ")
if query!=[]:
count_sql = f"SELECT count(*) FROM `payment_log` where {' and '.join(query)}"
list_sql = f"SELECT money,cont,url,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as create_time FROM `payment_log` where {' and '.join(query)} ORDER BY id desc limit {(int(page) - 1) * page},{size} "
else:
count_sql = f"SELECT count(*) FROM `payment_log`"
list_sql = f"SELECT money,cont,url,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as create_time FROM `payment_log` ORDER BY id desc limit {(int(page) - 1) * page},{size} "
paymentset_sql = LinkMysql(env.DB_3YV2).query_mysql(count_sql)
total = paymentset_sql[0].get("count(*)") total = paymentset_sql[0].get("count(*)")
list_sql = f"SELECT money,cont,url,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as create_time FROM `payment_log` ORDER BY id desc limit {page},{(size)} " payment_list = LinkMysql(env.DB_3YV2).query_mysql(list_sql)
payment_list = LinkMysql(env.MysqlDB).query_mysql(list_sql)
list = [] list = []
for item in range(len(payment_list)): for item in range(len(payment_list)):
payment_list[item]['url'] = env.oss_url + payment_list[item].get("url") payment_list[item]['url'] = env.oss_url + payment_list[item].get("url")
...@@ -364,7 +390,8 @@ def transfer_query(data): ...@@ -364,7 +390,8 @@ def transfer_query(data):
print(data.cont) print(data.cont)
payment_sql = f"insert into payment_log(cont,money,url,uuid) values({data.cont},{data.money},{data.url},{data.uuid})" payment_sql = f"insert into payment_log(cont,money,url,uuid) values({data.cont},{data.money},{data.url},{data.uuid})"
print(payment_sql) print(payment_sql)
LinkMysql(env.MysqlDB).excete_mysql(payment_sql) payment_sql=f"insert into payment_log(cont,money,url,uuid) values('{data.cont}','{data.money}','{data.url}','{data.uuid}')"
LinkMysql(env.DB_3YV2).excete_mysql(payment_sql)
params = {} params = {}
if data.money > 0: if data.money > 0:
method = 'Server.BaseExecute.Increase' method = 'Server.BaseExecute.Increase'
...@@ -379,5 +406,14 @@ def transfer_query(data): ...@@ -379,5 +406,14 @@ def transfer_query(data):
params['timestamp'] = 0 params['timestamp'] = 0
else: else:
method = 'Server.BaseExecute.Reduce' method = 'Server.BaseExecute.Reduce'
response = search(params=data, method=method) params['dst_uuid'] = data.uuid
params['ip'] = get_ip()
params['dst_amount_type'] = 'Payment'
params['amount'] = 'consumable'
params['fee'] = data.money * -1
params['reference_number'] = get_order()
params['reference_type'] = 'finance_admin_fix'
params['reference_info'] = []
params['timestamp'] = 0
response =search(params=params,method=method)
print(response.text) print(response.text)
...@@ -21,17 +21,9 @@ router = APIRouter() ...@@ -21,17 +21,9 @@ router = APIRouter()
@router.get("/recharge/list") @router.get("/recharge/list")
def statement_recharge_list(page: Optional[int] = 1, size: Optional[int] = 10,token=Depends(login_required)): def statement_recharge_list(page: Optional[int] = 0, size: Optional[int] = 10,order_number: Optional[str] = "",user_id: Optional[int] = "",sid: Optional[str]="",start_time:Optional[str]='',end_time:Optional[str]="",token=Depends(login_required)):
"""充值报表列表""" """充值报表列表"""
# page: Optional[int] = None total,statement_list,money= RechargeStatement().query_data(page,size,order_number,user_id,sid,start_time,end_time)
# size: Optional[int] = None
# start_time: Optional[str] = ""
# end_time: Optional[str] = ""
# order_number: Optional[str] = ""
# user_id: Optional[str] = ""
# sid: Optional[str] = ""
# pay_channel: Optional[str] = ""
total,statement_list,money= RechargeStatement().query_data(page,size)
return HttpResultResponse(total=total,count=float(money),data=statement_list) return HttpResultResponse(total=total,count=float(money),data=statement_list)
...@@ -44,31 +36,30 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se ...@@ -44,31 +36,30 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se
@router.get("/userWithdrawal/list") @router.get("/userWithdrawal/list")
def user_withdrawal_list(page: Optional[int] = 0, size: Optional[int] = 10,token=Depends(login_required)): def user_withdrawal_list(page: Optional[int] = 0, size: Optional[int] = 10,name:Optional[str]='',status:Optional[int]='',start_time:Optional[str]='',end_time:Optional[str]="",token=Depends(login_required)):
"""用户提现列表""" """用户提现列表"""
statement_list, total, money, final_money = WithdrawStatement().get_user_withdraw_cash(page,size) statement_list, total, money, final_money = WithdrawStatement().get_user_withdraw_cash(page,size,name,status,start_time,end_time)
return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=statement_list) return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=statement_list)
#http://fiance-rys.3yakj.com/Guild/settlement
@router.get("/guildWithdrawal/list") @router.get("/guildWithdrawal/list")
def guild_withdrawal_list(page: Optional[int] = 1, size: Optional[int] = 10, token=Depends(login_required)): def guild_withdrawal_list(page: Optional[int] = 0, size: Optional[int] = 10,guild_id:Optional[int]='',status:Optional[int]='',start_time:Optional[str]='',end_time:Optional[str]="", token=Depends(login_required)):
"""公会提现列表""" """公会提现列表"""
guild_list, total, money, final_money = WithdrawStatement().get_guild_withdraw_cash(page,size) guild_list, total, money, final_money = WithdrawStatement().get_guild_withdraw_cash(page,size,guild_id,status,start_time,end_time)
return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=guild_list) return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=guild_list)
@router.get("/guild/settlement") @router.get("/guild/settlement")
def guild_settlement_list(page: Optional[int] = 1, size: Optional[int] = 10,token=Depends(login_required)): def guild_settlement_list(page: Optional[int] = 0, size: Optional[int] = 10,status:Optional[int]='',start_time:Optional[str]='',end_time:Optional[str]="",guild_id:Optional[str]="",token=Depends(login_required)):
"""公会结算""" """公会结算"""
guild_list, total = GuildSet().get_guild_data(page, size) guild_list, total = GuildSet().get_guild_data(page, size,status,start_time,end_time,guild_id)
return HttpResultResponse(total=total, data=guild_list) return HttpResultResponse(total=total, data=guild_list)
@router.get("/guild/payment") @router.get("/guild/payment")
def guild_payment_list(page: Optional[int] = 1, size: Optional[int] = 10,token=Depends(login_required)): def guild_payment_list(page: Optional[int] = 1, size: Optional[int] = 10,start_time:Optional[str]='',end_time:Optional[str]="",token=Depends(login_required)):
"""打款记录""" """打款记录"""
payment_list, total = paymentset_guild_data(page,size) payment_list, total = paymentset_guild_data(page,size,start_time,end_time)
return HttpResultResponse(total=total, data=payment_list) return HttpResultResponse(total=total, data=payment_list)
......
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