Commit 3a7df2fb authored by xianyang's avatar xianyang

优化账户列表

parent 1373742b
......@@ -10,7 +10,7 @@ from core.config.env import env
from libs.business import TYPE_NAME, query_fi_account_type
from libs.db_link import LinkMysql
from libs.functions import wrapper_out, get_now_timestamp, uuid, get_before_timestamp, time_str_to_timestamp, \
get_yesterday_timestamp, get_last_month, get_date_list, send_json_rpc_request
get_yesterday_timestamp, get_last_month, get_date_list, send_json_rpc_request, ymd_str_to_timestamp
from libs.log_utils import Logger
from libs.orm import QueryAllData
from models import account as models
......@@ -368,7 +368,7 @@ class AccountStatistics(object):
if self.user_list:
user_uuid = self.user_list[0]
condition.append(f" uuid='{user_uuid.get('uuid')}'")
u_sql = f"select uuid,type,reference_type,SUM(cast(amount as decimal(20,6)))/1000 as amount,reference_number,create_time,amount_type from {date} WHERE {' and '.join(condition)} GROUP BY uuid,type,reference_type,amount_type ORDER BY create_time DESC"
u_sql = f"select uuid,type,SUM(cast(amount as decimal(20,6)))/1000 as amount,FROM_UNIXTIME(create_time,'%Y%c%d') as create_time from {date} WHERE {' and '.join(condition)} GROUP BY uuid,type,FROM_UNIXTIME(create_time,'%Y%c%d')"
else:
if self.uuid:
condition.append(f" uuid='{self.uuid}'")
......@@ -392,16 +392,18 @@ class AccountStatistics(object):
if self.unique == 'guild_account':
guild_uuid_list = [i.get('uuid') for i in guild_list]
for info in data:
info['create_time'] = ymd_str_to_timestamp(info.get('create_time'))
if info.get('uuid') in guild_uuid_list:
res_list.append(info)
if self.unique == 'knapsack_account':
for info in data:
if info.get('amount_type') == 'backpack':
res_list.append(info)
info['create_time'] = ymd_str_to_timestamp(info.get('create_time'))
res_list.append(info)
if self.unique == 'user_account':
guild_uuid_list = [i.get('uuid') for i in guild_list]
system_uuid_list = [i.get('uuid') for i in system_list]
for info in data:
info['create_time'] = ymd_str_to_timestamp(info.get('create_time'))
if info.get('uuid') not in guild_uuid_list and info.get('uuid') not in system_uuid_list:
res_list.append(info)
return res_list
......
......@@ -53,6 +53,14 @@ def time_str_to_timestamp(time_str):
return int(time.mktime(time_array))
def ymd_str_to_timestamp(time_str):
"""年月日时间字符串类型 转为int"""
if not time_str:
return 0
time_array = time.strptime(time_str, "%Y%m%d")
return int(time.mktime(time_array))
def timestamp_to_time_str(time_stamp):
"""时间戳类型转 时间字符串类型"""
time_array = time.localtime(time_stamp)
......
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