Commit acd77a5f authored by xupeng's avatar xupeng

token刷新提交

parent 8cae1eeb
......@@ -11,7 +11,7 @@ router = APIRouter()
@router.post("/create")
def create_account(data: schemas.AccountCreate, token=Depends(login_required)):
def create_account(data: schemas.AccountCreate,token=Depends(login_required)):
"""添加账户"""
db_info = crud.get_account(data.name)
if db_info:
......
......@@ -3,7 +3,6 @@ from fastapi import HTTPException, status
from sqlalchemy.orm import Session
from sqlalchemy import func
from app.api.role import schemas
from libs.functions import wrapper_out
from models import roles as models
......
......@@ -48,12 +48,12 @@ class RechargeStatement(object):
# self.once_res=[]
# self.moeny_data=[]
def query_data(self,page,size,order_number,user_id,sid,start_time,end_time,type,reference_type,month_type):
def query_data(self,page,size,order_number,uuid,sid,start_time,end_time,type,reference_type,month_type):
query=[]
if order_number:
query.append(f"id={order_number} ")
if user_id:
query.append(f"user_id={user_id} ")
query.append(f"reference_number={order_number} ")
if uuid:
query.append(f"uuid={uuid} ")
if sid:
query.append(f"sid='{sid}' ")
if type:
......@@ -88,23 +88,22 @@ class RechargeStatement(object):
def statistics_data(self,month_type,query,page,size,now_month):
'''统计'''
if month_type==1:
count_sql = f"SELECT count(*) FROM assets_log_{now_month} where {query} and type=1"
count_sql = f"SELECT count(*) FROM assets_log_{now_month} where {query} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount')"
count = self.linkmysql.query_mysql(count_sql)[0].get("count(*)")
sql = f'SELECT id,a.uuid,a.amount,FROM_UNIXTIME(a.create_time,"%Y-%c-%d %h:%i:%s") as payment_time,a.amount_type,a.reference_number FROM assets_log_{now_month} as a where type=1 and {query} ORDER BY id desc limit {(int(page) - 1) * size},{size}'
sql = f"SELECT id,a.uuid,a.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} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount') 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} and type=1"
money_sql = f"SELECT sum(amount) FROM assets_log_{now_month} where {query} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount')"
moeny_data = self.linkmysql.query_mysql(money_sql)[0].get("sum(amount)") if \
self.linkmysql.query_mysql(money_sql)[0].get("sum(amount)") != None else 0
else:
count_sql = "SELECT sum(a.b) FROM ("f"SELECT count(*) as b FROM assets_log_{int(now_month[0])} where {(' and '.join(query[0]))} and type=1 UNION ALL SELECT count(*) FROM assets_log_{int(now_month[1])} where {(' and '.join(query[1]))} and type=1 ) AS a "
count_sql = "SELECT sum(a.b) FROM ("f"SELECT count(*) as b FROM assets_log_{int(now_month[0])} where {(' and '.join(query[0]))} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount') UNION ALL SELECT count(*) FROM assets_log_{int(now_month[1])} where {(' and '.join(query[1]))} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount')) AS a "
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 id,uuid,amount,FROM_UNIXTIME(create_time,"%Y-%c-%d %h:%i:%s") as payment_time,amount_type,reference_number FROM assets_log_{int(now_month[0])} where {query1} and type=1 UNION ALL SELECT id,uuid,amount,FROM_UNIXTIME(create_time,"%Y-%c-%d %h:%i:%s") as payment_time,amount_type,reference_number FROM assets_log_{int(now_month[1])} where {query2} and type=1 ORDER BY id desc limit {(int(page) - 1) * size},{size}'
print(sql)
sql = f"SELECT id,uuid,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} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount') UNION ALL SELECT id,uuid,amount,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as payment_time,reference_type,reference_number FROM assets_log_{int(now_month[1])} where {query2} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount') ORDER BY id 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]))} and type=1 UNION ALL SELECT sum(amount)FROM assets_log_{int(now_month[1])} where {(' and '.join(query[1]))} and type=1 ) AS a "
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]))} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount') UNION ALL SELECT sum(amount)FROM assets_log_{int(now_month[1])} where {(' and '.join(query[1]))} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount') ) AS a "
moeny_data = self.linkmysql.query_mysql(money_sql)[0].get("sum(a.b)") if \
self.linkmysql.query_mysql(money_sql)[0].get("sum(a.b)") != None else 0
return count, once_res, moeny_data
......@@ -118,15 +117,11 @@ class RechargeStatement(object):
def get_statements(self,data):
query = []
if data.start_time:
query.append(f" lastupdate >= {time_str_to_timestamp(data.start_time + ' 00:00:00')} ")
if data.end_time:
query.append(f" lastupdate < {time_str_to_timestamp(data.end_time + ' 23:59:59')} ")
if data.order_number:
query.append(f"id={data.order_number} ")
elif data.user_id:
query.append(f"user_id={data.user_id} ")
elif data.sid:
if data.user_id:
query.append(f"uuid={data.user_id} ")
if data.sid:
query.append(f"sid='{data.sid}' ")
if data.month_type==1:
if data.start_time:
......@@ -135,21 +130,21 @@ class RechargeStatement(object):
query.append(f" create_time < {time_str_to_timestamp(data.end_time + ' 23:59:59')} ")
query = ' and '.join(query)
now_month = get_month_last_month(data.month_type)
count,once_res,moeny_data=self.data_delcy(data.month_type,query,now_month[1])
once_res=self.data_delcy(data.month_type,query,now_month[1])
else:
query_data=self.query_add_time(data.start_time,data.end_time)
now_month = get_month_last_month(data.month_type)
count, once_res, moeny_data = self.data_delcy(data.month_type, query_data,now_month)
once_res = self.data_delcy(data.month_type, query_data,now_month)
return once_res
def data_delcy(self,month_type,query,now_month):
if month_type==1:
sql = f'SELECT a.uuid,a.amount,FROM_UNIXTIME(a.create_time,"%Y-%c-%d %h:%i:%s") as payment_time,a.amount_type,a.order_number FROM assets_log_{now_month} as a where type=1 and {query}'
sql = f"SELECT a.uuid,a.amount,FROM_UNIXTIME(a.create_time,'%Y-%c-%d %h:%i:%s') as payment_time,a.reference_type,a.order_number FROM assets_log_{now_month} as a where {query} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount')"
once_res = self.linkmysql.query_mysql(sql)
else:
query1=(' and '.join(query[0]))
query2=(' and '.join(query[1]))
sql = f'SELECT id,uuid,amount,FROM_UNIXTIME(create_time,"%Y-%c-%d %h:%i:%s") as payment_time,amount_type,order_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,amount_type,order_number FROM assets_log_{int(now_month[1])} where {query2}'
sql = f"SELECT id,uuid,amount,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as payment_time,reference_type,order_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,order_number FROM assets_log_{int(now_month[1])} where {query2} and reference_type in('picture_scroll_recharge','relic_recharge','userRecharge','pay_discount')"
once_res = self.linkmysql.query_mysql(sql)
return once_res
......@@ -184,10 +179,10 @@ class WithdrawStatement(object):
data.append(query)
data.append(query1)
return data
def get_user_withdraw_cash(self,page, size, name, status,start_time,end_time,month_type):
def get_user_withdraw_cash(self,page, size, uuid, status,start_time,end_time,month_type):
query = []
if name:
query.append(f" nickname like '%{name}%' ")
if uuid:
query.append(f" uuid={uuid}")
if status:
query.append(f"status={status} ")
query.append(f"reference_type='userWithdrawal' ")
......@@ -210,7 +205,7 @@ class WithdrawStatement(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 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.reference_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)
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 \
......@@ -220,7 +215,7 @@ class WithdrawStatement(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 id,uuid,amount,FROM_UNIXTIME(create_time,'%Y-%c-%d %h:%i:%s') as payment_time,amount_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,amount_type,reference_number 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,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 FROM assets_log_{int(now_month[1])} where {query2} ORDER BY id 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 \
......
......@@ -21,9 +21,9 @@ router = APIRouter()
@router.get("/recharge/list")
def statement_recharge_list(page: Optional[int] = 0, size: Optional[int] = 10,order_number: Optional[str] = "",user_id: Optional[int] = "",sid: Optional[str]="",start_time:Optional[str]='',end_time:Optional[str]="",types:Optional[str]="",reference_type:Optional[str]="",month_type:Optional[int]="",token=Depends(login_required)):
def statement_recharge_list(page: Optional[int] = 0, size: Optional[int] = 10,order_number: Optional[str] = "",uuid: Optional[int] = "",sid: Optional[str]="",start_time:Optional[str]='',end_time:Optional[str]="",types:Optional[str]="",reference_type:Optional[str]="",month_type:Optional[int]="",token=Depends(login_required)):
"""充值报表列表"""
total,statement_list,money= RechargeStatement().query_data(page,size,order_number,user_id,sid,start_time,end_time,types,reference_type,month_type)
total,statement_list,money= RechargeStatement().query_data(page,size,order_number,uuid,sid,start_time,end_time,types,reference_type,month_type)
return HttpResultResponse(total=total,count=float(money),data=statement_list)
......@@ -36,9 +36,9 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se
@router.get("/userWithdrawal/list")
def user_withdrawal_list(page: Optional[int] = 0, size: Optional[int] = 10,name:Optional[str]='',status:Optional[int]='',start_time:Optional[str]='',end_time:Optional[str]="",month_type:Optional[int]="",token=Depends(login_required)):
def user_withdrawal_list(page: Optional[int] = 0, size: Optional[int] = 10,uuid:Optional[int]='',status:Optional[int]='',start_time:Optional[str]='',end_time:Optional[str]="",month_type:Optional[int]="",token=Depends(login_required)):
"""用户提现列表"""
total,statement_list,money = WithdrawStatement(). get_user_withdraw_cash(page,size,name,status,start_time,end_time,month_type)
total,statement_list,money = WithdrawStatement(). get_user_withdraw_cash(page,size,uuid,status,start_time,end_time,month_type)
return HttpResultResponse(total=total, count=float(money), data=statement_list)
......
......@@ -115,4 +115,10 @@ def get_month_last_month(month_type):
month_date = datetime.now().date() - relativedelta(months=1)
last_month = month_date.strftime("%Y%m")
now_month =datetime.now().strftime("%Y%m")
return last_month,now_month
\ No newline at end of file
return last_month,now_month
def time_format(utc_timestamp: int):
days = (utc_timestamp + 3600 * 8) % 86400
hours = int(days / 3600)
time_str = hours
return time_str
\ No newline at end of file
import time
from datetime import timedelta, datetime
import uvicorn
from fastapi import FastAPI
from fastapi import FastAPI, Depends
from jose import jwt
from app.api.api_v1 import api_router
from starlette.middleware.cors import CORSMiddleware
from fastapi import Request
from core.config.env import env
from core.dependencies.auth_dependen import create_access_token
from libs.functions import time_format
from libs.token_verify import oauth2_scheme
app = FastAPI()
......@@ -15,6 +25,21 @@ app.add_middleware(
allow_methods=['*'], # 设置允许跨域的http方法,比如 get、post、put等。
allow_headers=['*']) # 允许跨域的headers,可以用来鉴别来源等作用。
@app.middleware("http")
async def add_process_time_header(request: Request, call_next):
hs = request.headers
token=hs.get("authorization").replace('Bearer','').replace(' ','')
start_time = time.time()
response = await call_next(request)
process_time = time.time() - start_time
response.headers["X-Process-Time"] = str(process_time)
if token:
payload = jwt.decode(token, env.SECRET_KEY, algorithms=[env.ALGORITHM])
timestamp=payload.get("exp")
access_token_expires = timedelta(hours=time_format(timestamp))
create_access_token({'username':payload.get("xup"),'password':payload.get("password")},expires_delta=access_token_expires) #更新token时间
return response
app.include_router(api_router, prefix="/api") # 路由
......
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