Commit 55f0bdd7 authored by xupeng's avatar xupeng

结算修改

parent 6d4e9362
...@@ -251,6 +251,7 @@ class WithdrawStatement(object): ...@@ -251,6 +251,7 @@ class WithdrawStatement(object):
def dispose_user(self, month_type, query, page, size, now_month): def dispose_user(self, month_type, query, page, size, now_month):
if month_type == 1: if month_type == 1:
count_sql = f"SELECT count(*) FROM assets_log_{now_month} where {query}" count_sql = f"SELECT count(*) FROM assets_log_{now_month} where {query}"
print(count_sql)
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)") count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)")
sql = f'SELECT uuid,a.reference_type,a.reference_number,FROM_UNIXTIME(a.create_time,"%Y-%c-%d %h:%i:%s") as payment_time,a.amount_type FROM assets_log_{now_month} as a where {query} ORDER BY id desc limit {(int(page) - 1) * size},{size}' sql = f'SELECT uuid,a.reference_type,a.reference_number,FROM_UNIXTIME(a.create_time,"%Y-%c-%d %h:%i:%s") as payment_time,a.amount_type FROM assets_log_{now_month} as a where {query} ORDER BY id desc limit {(int(page) - 1) * size},{size}'
once_res = self.linkmysql.query_mysql(sql) once_res = self.linkmysql.query_mysql(sql)
......
...@@ -2,6 +2,7 @@ import json ...@@ -2,6 +2,7 @@ import json
import math import math
import socket import socket
import threading import threading
import time
from concurrent.futures.thread import ThreadPoolExecutor from concurrent.futures.thread import ThreadPoolExecutor
import requests import requests
...@@ -93,8 +94,13 @@ class GuildSet(object): ...@@ -93,8 +94,13 @@ class GuildSet(object):
querydata = db.query(GuildSettlementLog).filter().order_by( querydata = db.query(GuildSettlementLog).filter().order_by(
GuildSettlementLog.id.desc()).offset((int(page) - 1) * size).limit(size) GuildSettlementLog.id.desc()).offset((int(page) - 1) * size).limit(size)
data = [QueryAllData.serialization(item, remove={'create_time', 'remark'}) for item in querydata] data = [QueryAllData.serialization(item, remove={'create_time', 'remark'}) for item in querydata]
list = []
for item in data:
item['accounts'] = item.get("pearl") + item.get("balance")
item['update_time']=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(item.get("update_time")))
list.append(item)
count = db.query(func.count(GuildSettlementLog.id)).filter().scalar() count = db.query(func.count(GuildSettlementLog.id)).filter().scalar()
return data, count return list, count
def update_guild_info(self, data): def update_guild_info(self, data):
"""公会结算修改""" """公会结算修改"""
...@@ -524,13 +530,10 @@ def transfer_query(data): ...@@ -524,13 +530,10 @@ def transfer_query(data):
def GuildSettlementAdd(db, data): def GuildSettlementAdd(db, data):
guild_data = db.query(GuildSettlementLog).filter(GuildSettlementLog.work_id == data.id).first() guild_data = db.query(GuildSettlementLog).filter(GuildSettlementLog.id == data.id).first()
if guild_data: if guild_data:
# 修改状态 # 修改状态
db.query(GuildSettlementLog).filter(GuildSettlementLog.work_id == data.id).update( guild_sql = f"select * from guild where id={guild_data.guild_id} limit 0,1"
{GuildSettlementLog.status: data.status, GuildSettlementLog.update_time: get_now_timestamp()})
db.commit()
guild_sql = f"select * from guild where id={guild_data.get('guild_id')} limit 0,1"
guild_info = LinkMysql(env.DB_3YV2).query_mysql(guild_sql) guild_info = LinkMysql(env.DB_3YV2).query_mysql(guild_sql)
if not guild_info: if not guild_info:
return '公会数据错误' return '公会数据错误'
...@@ -538,27 +541,31 @@ def GuildSettlementAdd(db, data): ...@@ -538,27 +541,31 @@ def GuildSettlementAdd(db, data):
acc_info = LinkMysql(env.DB_3YV2).query_mysql(acc_sql) acc_info = LinkMysql(env.DB_3YV2).query_mysql(acc_sql)
if not acc_info: if not acc_info:
return '财务平台账户数据错误' return '财务平台账户数据错误'
if guild_data['status'] == 0: if guild_data.status == 0:
first_sta = 00 first_sta = 00
# 钻石处理 # 钻石处理
if guild_data['balance'] and guild_data['balance'] > 0: if guild_data.balance and guild_data.balance> 0:
balance_refer_num = f'guild_settlement_{data.id}_balance' balance_refer_num = f'guild_settlement_{data.id}_balance'
is_failure = transfer_trigger_task(guild_info['uuid'], 0, data.balance, 'guild_clear', 'consumable', balance_refer_num, [], 1, acc_info['uuid']) is_failure = transfer_trigger_task(guild_info[0].get("uuid"), 0, data.balance, 'guild_clear', 'consumable', balance_refer_num, [], 1, acc_info[0]['uuid'])
if is_failure: if is_failure:
return is_failure return is_failure
first_sta = 1 first_sta = 1
# 珍珠处理 # 珍珠处理
if guild_data['pearl'] and guild_data['pearl'] > 0: if guild_data.pearl and guild_data.pearl > 0:
pearl_refer_num = f'guild_settlement_{data.id}_pearl' pearl_refer_num = f'guild_settlement_{data.id}_pearl'
is_lose = transfer_trigger_task(guild_info['uuid'], 0, data.balance, 'guild_clear', 'withdrawable', pearl_refer_num, [], 1, acc_info['uuid']) is_lose = transfer_trigger_task(guild_info[0].get("uuid"), 0, data.balance, 'guild_clear', 'withdrawable', pearl_refer_num, [], 1, acc_info[0]['uuid'])
if is_lose: if is_lose:
return is_lose return is_lose
first_sta = 1 first_sta = 1
if first_sta: if first_sta:
url = "http://106.55.103.148:8787/api/guild/editSettlementLog" url = "http://106.55.103.148:8787/api/guild/editSettlementLog"
res = requests.post(url=url, json=json.dumps({'id': guild_data['id'], 'status': 2})) json={'id': guild_data.work_id, 'status': 2}
res = requests.post(url=url, json=json)
if res.status_code != 200: if res.status_code != 200:
return '财务回调失败' return '财务回调失败'
db.query(GuildSettlementLog).filter(GuildSettlementLog.work_id == guild_data.work_id).update(
{GuildSettlementLog.status: data.status, GuildSettlementLog.update_time: get_now_timestamp()})
db.commit()
return '' return ''
else: else:
db_export = GuildSettlementLog(work_id=data.id, guild_id=data.guild_id, balance=data.balance, db_export = GuildSettlementLog(work_id=data.id, guild_id=data.guild_id, balance=data.balance,
......
...@@ -159,7 +159,7 @@ class GuildAddLog(BaseModel): ...@@ -159,7 +159,7 @@ class GuildAddLog(BaseModel):
status: int status: int
create_time: Optional[int] = None create_time: Optional[int] = None
update_time: Optional[str] = None update_time: Optional[str] = None
guild_name: Optional[int] = None guild_name: Optional[str] = None
guild_per: Optional[str] = None guild_per: Optional[str] = None
actual_money: Optional[str] = None actual_money: Optional[str] = None
pledge_deposit_money: Optional[str] = None pledge_deposit_money: Optional[str] = None
...@@ -143,7 +143,7 @@ class GuildSettlementLog(Base, SerializerMixin): ...@@ -143,7 +143,7 @@ class GuildSettlementLog(Base, SerializerMixin):
pearl = Column(DECIMAL(15,3),default='0.000', comment="结算时候的珍珠,RMB单位") pearl = Column(DECIMAL(15,3),default='0.000', comment="结算时候的珍珠,RMB单位")
status = Column(Integer, comment="0待结算,1待结款,2已完成") status = Column(Integer, comment="0待结算,1待结款,2已完成")
create_time = Column(Integer,default='0',comment="创建时间") create_time = Column(Integer,default='0',comment="创建时间")
update_time = Column(DateTime,default='0',comment="修改时间") update_time = Column(Integer,default='0',comment="修改时间")
guild_name = Column(Integer, comment="公会名字") guild_name = Column(Integer, comment="公会名字")
guild_per = Column(String(122), comment="公会比例") guild_per = Column(String(122), comment="公会比例")
actual_money = Column(DECIMAL(15,3), default='0.000', comment="实际结款") actual_money = Column(DECIMAL(15,3), default='0.000', comment="实际结款")
......
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