Commit 5898954b authored by xianyang's avatar xianyang

Merge remote-tracking branch 'origin/development' into development

parents 1e239aff 2c77d17e
...@@ -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="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
<component name="PyDocumentationSettings"> <component name="PyDocumentationSettings">
......
...@@ -3,5 +3,5 @@ ...@@ -3,5 +3,5 @@
<component name="JavaScriptSettings"> <component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" /> <option name="languageLevel" value="ES6" />
</component> </component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (financial-system)" project-jdk-type="Python SDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (financial_system)" project-jdk-type="Python SDK" />
</project> </project>
\ No newline at end of file
...@@ -93,7 +93,7 @@ class RechargeStatement(object): ...@@ -93,7 +93,7 @@ class RechargeStatement(object):
if end_time: if end_time:
query.append(f" create_time < {time_str_to_timestamp(end_time + ' 23:59:59')} ") query.append(f" create_time < {time_str_to_timestamp(end_time + ' 23:59:59')} ")
query = ' and '.join(query) query = ' and '.join(query)
now_month = get_date_list(start_time, end_time) now_month = get_month_last_month(month_type)
count, once_res, moeny_data = self.statistics_data(month_type, query, page, size, now_month[0]) count, once_res, moeny_data = self.statistics_data(month_type, query, page, size, now_month[0])
else: else:
query_data = self.query_add_time(start_time, end_time, query) query_data = self.query_add_time(start_time, end_time, query)
...@@ -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,41 +530,43 @@ def transfer_query(data): ...@@ -524,41 +530,43 @@ 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 400,{"name":"公会数据错误"}
acc_sql = f"select * from fi_account where config_key='guildSettlement' limit 0,1" acc_sql = f"select * from fi_account where config_key='guildSettlement' limit 0,1"
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 400, {"name": "财务平台账户数据错误"}
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 400, {"name": "结算错误"}
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.pearl, 'guild_clear', 'withdrawable', pearl_refer_num, [], 1, acc_info[0]['uuid'])
if is_lose: if is_lose:
return is_lose return 400, {"name": "结算错误"}
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 400, {"name": "财务请求失败"}
guild_data = db.query(GuildSettlementLog).filter(GuildSettlementLog.id == data.id).first()
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
...@@ -259,5 +259,5 @@ def menu_list(db: Session = Depends(get_db),menu_type: Optional[int] = ""): ...@@ -259,5 +259,5 @@ def menu_list(db: Session = Depends(get_db),menu_type: Optional[int] = ""):
@router.post("/guild/accounts") @router.post("/guild/accounts")
def guild_add(data: schemas.GuildAddLog, db: Session = Depends(get_db)): def guild_add(data: schemas.GuildAddLog, db: Session = Depends(get_db)):
"""公会结算""" """公会结算"""
GuildSettlementAdd(db, data) code,data=GuildSettlementAdd(db, data)
return HttpResultResponse(code=200, msg=HttpMessage.SUCCESS) return HttpResultResponse(code=code, data=data)
...@@ -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