Commit b3084f1a authored by xianyang's avatar xianyang

优化公会导出

parent 11237c65
......@@ -4,7 +4,7 @@ from concurrent.futures.thread import ThreadPoolExecutor
import pandas as pd
from sqlalchemy.orm import Session
from core.config.env import env
from libs.business import TYPE_NAME, query_fi_account_type
from libs.business import TYPE_NAME, query_fi_account_type, GUILD_NAME
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, ymd_str_to_timestamp
......@@ -536,6 +536,14 @@ def delete_specify_field(data, unique_tag):
"outcome": i.get('outcome', ''),
"create_time": i.get('create_time', '')
}
if unique_tag == 'guild_account':
structure = {
"uuid": i.get('guild_id', ''),
"income": i.get('income', ''),
"outcome": i.get('outcome', ''),
"initial_money": i.get('initial_money', ''),
"create_time": i.get('create_time', '')
}
else:
structure = {
"reference_number": i.get('reference_number', ''),
......@@ -548,6 +556,21 @@ def delete_specify_field(data, unique_tag):
return res_list
def delete_guild_specify_field(data):
res_list = []
for i in data:
structure = {
"name": GUILD_NAME[i.get('guild_id')],
"guild_id":i.get('guild_id', ''),
"income": i.get('income', ''),
"outcome": i.get('outcome', ''),
"initial_money": i.get('initial_money', ''),
"create_time": i.get('create_time', '')
}
res_list.append(structure)
return res_list
class SpecificAccountQuery(object):
"""账户用户,背包,公会第四层查询"""
......
......@@ -7,6 +7,7 @@ from app.api.account import schemas, crud
from app.api.account.crud import AccountStatistics, SpecificAccountQuery, HomePageDisplay
from app.api.statement import crud as statement_crud
from libs import functions
from libs.business import GUILD_NAME
from libs.export import Export, TableToFile
from libs.functions import get_date_list
from libs.log_utils import Logger
......@@ -106,6 +107,10 @@ def finance_info_excel(data: schemas.FinanceDetails, request: Request,
if data.unique_tag in ["knapsack_account", "user_account", "guild_account", "pledgeDeduction"]:
field_head = ['uuid', '入账', '出账', '时间']
statement_list = statement_list[0]
if data.unique_tag == 'guild_account':
field_head = ['公会名', '公会id', '入账', '出账', '余额', '时间']
data = crud.delete_guild_specify_field(statement_list)
return TableToFile(db, data, "财务明细", headers, field_head).main_method()
else:
field_head = ['订单号', '出入账方式', '礼物类型', '金额', '时间']
data = crud.delete_specify_field(statement_list, data.unique_tag)
......
......@@ -17,7 +17,16 @@ def query_fi_account_type():
return fi_type
def query_fi_guild_name():
guild_name = {}
sql = f"SELECT id,guild_name,uuid FROM guild"
res_data = LinkMysql(env.DB_3YV2).query_mysql(sql)
for i in res_data:
guild_name[i['id']] = i['guild_name']
return guild_name
TYPE_NAME = query_fi_account_type()
GUILD_NAME = query_fi_guild_name()
# TYPE_NAME_T = {
......
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