Commit b3cb1522 authored by xianyang's avatar xianyang

优化充值列表查询条件

parent 6027db0c
......@@ -96,18 +96,21 @@ class RechargeStatement(object):
now_month = get_month_last_month(month_type)
count, once_res, moeny_data = self.statistics_data(month_type, query, page, size, now_month[1])
else:
query_data = self.query_add_time(start_time, end_time)
query_data = self.query_add_time(start_time, end_time, query)
count, once_res, moeny_data = self.thread_data(month_type, query_data, page, size)
return count, once_res, moeny_data
def query_add_time(self, start_time, end_time):
def query_add_time(self, start_time, end_time, old_query):
data = []
query = []
query1 = []
query.append(f" create_time >= {time_str_to_timestamp(start_time + ' 00:00:00')} ")
query.append(f" create_time < {time_str_to_timestamp(start_time + ' 23:59:59')} ")
query1.append(f" create_time >= {time_str_to_timestamp(end_time + ' 00:00:00')} ")
query.append(f" create_time < {time_str_to_timestamp(end_time + ' 23:59:59')} ")
query1.append(f" create_time >= {time_str_to_timestamp(start_time + ' 00:00:00')} ")
query1.append(f" create_time < {time_str_to_timestamp(end_time + ' 23:59:59')} ")
if old_query:
query = query + old_query
query1 = query1 + old_query
data.append(query)
data.append(query1)
return data
......@@ -117,7 +120,7 @@ class RechargeStatement(object):
if month_type == 1:
count_sql = f"SELECT count(*) FROM assets_log_{now_month} where {query}"
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)")
sql = f"SELECT a.uuid,a.amount/1000 as amount,FROM_UNIXTIME(a.create_time,'%Y-%c-%d %h:%i:%s') as payment_time,a.reference_type,a.reference_number FROM assets_log_{now_month} as a where {query} ORDER BY id desc limit {(int(page) - 1) * size},{size}"
sql = f"SELECT a.id,a.uuid,a.amount/1000 as amount,FROM_UNIXTIME(a.create_time) as payment_time,a.reference_type,a.reference_number 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)
money_sql = f"SELECT sum(amount) FROM assets_log_{now_month} where {query}"
moeny_data = self.linkmysql.query_mysql(money_sql)[0].get("sum(amount)") if \
......@@ -128,7 +131,7 @@ class RechargeStatement(object):
count = self.linkmysql.query_mysql(count_sql)[0].get("sum(a.b)")
query1 = (' and '.join(query[0]))
query2 = (' and '.join(query[1]))
sql = f"SELECT uuid,amount/1000 as amount,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as payment_time,reference_type,reference_number FROM assets_log_{int(now_month[0])} where {query1} UNION ALL SELECT id,uuid,amount,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as payment_time,reference_type,reference_number,amount_type FROM assets_log_{int(now_month[1])} where {query2} ORDER BY id desc limit {(int(page) - 1) * size},{size}"
sql = f"SELECT id,uuid,amount/1000 as amount,FROM_UNIXTIME(create_time) as payment_time,reference_type,reference_number FROM assets_log_{int(now_month[0])} where {query1} UNION ALL SELECT id,uuid,amount/1000 as amount,FROM_UNIXTIME(create_time) as payment_time,reference_type,reference_number FROM assets_log_{int(now_month[1])} where {query2} ORDER BY payment_time desc limit {(int(page) - 1) * size},{size}"
once_res = self.linkmysql.query_mysql(sql)
money_sql = f"SELECT sum(a.b) FROM ("f"SELECT sum(amount) as b FROM assets_log_{int(now_month[0])} where {(' and '.join(query[0]))} UNION ALL SELECT sum(amount)FROM assets_log_{int(now_month[1])} where {(' and '.join(query[1]))}) AS a "
moeny_data = self.linkmysql.query_mysql(money_sql)[0].get("sum(a.b)") if \
......
......@@ -191,7 +191,9 @@ def recovery_fix(page: int,
@router.post("/submit/recovery")
def finance_fix(data: acc_schemas.RecoveryTable, token=Depends(login_required), db: Session = Depends(get_db)):
"""新增异常数据修复"""
if not all([data.uuid, data.out_money, data.entry_money, data.from_time, data.cont]):
if not all([data.uuid, data.from_time, data.cont]):
return HttpResultResponse(code=500, msg='缺少必传参数')
if data.out_money or data.entry_money:
return HttpResultResponse(code=500, msg='缺少必传参数')
res = guild.create_recovery_table(data)
if res:
......
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