Commit 8b368c3a authored by xianyang's avatar xianyang

添加代码token权限(xp),优化账户明细查询

parent 484d146e
...@@ -120,9 +120,9 @@ def get_finance_details(db, data, is_list=None): ...@@ -120,9 +120,9 @@ def get_finance_details(db, data, is_list=None):
if data.gift_type: if data.gift_type:
finance_condition.append(AccountFinanceDetails.gift_type == data.gift_type) finance_condition.append(AccountFinanceDetails.gift_type == data.gift_type)
if data.start_time: if data.start_time:
finance_condition.append(AccountFinanceDetails.create_time >= data.start_time) finance_condition.append(AccountFinanceDetails.create_time >= data.start_time + " 00:00:00")
if data.end_time: if data.end_time:
finance_condition.append(AccountFinanceDetails.create_time <= data.end_time) finance_condition.append(AccountFinanceDetails.create_time <= data.end_time + " 23:59:59")
try: try:
get_details_orm = db.query(AccountFinanceDetails).filter(and_(*finance_condition)) get_details_orm = db.query(AccountFinanceDetails).filter(and_(*finance_condition))
condition_data = db.execute(get_details_orm).fetchall() condition_data = db.execute(get_details_orm).fetchall()
......
...@@ -4,12 +4,13 @@ from app import get_db ...@@ -4,12 +4,13 @@ from app import get_db
from app.api.account import schemas, crud from app.api.account import schemas, crud
from app.api.statement import crud as statement_crud from app.api.statement import crud as statement_crud
from libs.result_format import HttpResultResponse, HttpMessage from libs.result_format import HttpResultResponse, HttpMessage
from libs.token_verify import login_required
router = APIRouter() router = APIRouter()
@router.post("/create") @router.post("/create")
def create_account(data: schemas.AccountCreate, db: Session = Depends(get_db)): def create_account(data: schemas.AccountCreate, token=Depends(login_required), db: Session = Depends(get_db)):
"""添加账户""" """添加账户"""
db_info = crud.get_account(db, name=data.name) db_info = crud.get_account(db, name=data.name)
if db_info: if db_info:
...@@ -21,21 +22,21 @@ def create_account(data: schemas.AccountCreate, db: Session = Depends(get_db)): ...@@ -21,21 +22,21 @@ def create_account(data: schemas.AccountCreate, db: Session = Depends(get_db)):
@router.post("/list") @router.post("/list")
def user_list(data: schemas.AccountList, db: Session = Depends(get_db)): def user_list(data: schemas.AccountList, token=Depends(login_required), db: Session = Depends(get_db)):
"""账户列表""" """账户列表"""
result, num = crud.get_account_list(db, data) result, num = crud.get_account_list(db, data)
return HttpResultResponse(total=num, data=result) return HttpResultResponse(total=num, data=result)
@router.get("/gift/type") @router.get("/gift/type")
def gift_type_list(db: Session = Depends(get_db)): def gift_type_list(db: Session = Depends(get_db), token=Depends(login_required)):
"""礼物类型配置返回""" """礼物类型配置返回"""
result = crud.get_gift_type(db) result = crud.get_gift_type(db)
return HttpResultResponse(data=result) return HttpResultResponse(data=result)
@router.post("/update") @router.post("/update")
def read_account(data: schemas.AccountUpdate, db: Session = Depends(get_db)): def read_account(data: schemas.AccountUpdate, token=Depends(login_required), db: Session = Depends(get_db)):
"""账户修改""" """账户修改"""
if not data.name: if not data.name:
return HttpResultResponse(code=500, msg="账户名不能为空") return HttpResultResponse(code=500, msg="账户名不能为空")
...@@ -44,14 +45,15 @@ def read_account(data: schemas.AccountUpdate, db: Session = Depends(get_db)): ...@@ -44,14 +45,15 @@ def read_account(data: schemas.AccountUpdate, db: Session = Depends(get_db)):
@router.post("/finance/info") @router.post("/finance/info")
def finance_information(data: schemas.FinanceInfo, db: Session = Depends(get_db)): def finance_information(data: schemas.FinanceInfo, token=Depends(login_required), db: Session = Depends(get_db)):
"""账户财务信息""" """账户财务信息"""
res, total = crud.get_finance_info(db, data, 1) res, total = crud.get_finance_info(db, data, 1)
return HttpResultResponse(total=total, data=res[int(data.page-1)*data.size:data.page*data.size]) return HttpResultResponse(total=total, data=res[int(data.page-1)*data.size:data.page*data.size])
@router.post("/finance/info/excel") @router.post("/finance/info/excel")
def finance_info_excel(data: schemas.FinanceInfo, request: Request, db: Session = Depends(get_db)): def finance_info_excel(data: schemas.FinanceInfo, request: Request,
token=Depends(login_required), db: Session = Depends(get_db)):
"""账户财务信息导出""" """账户财务信息导出"""
headers = request.get("headers") headers = request.get("headers")
statement_list = crud.get_finance_info(db, data) statement_list = crud.get_finance_info(db, data)
...@@ -59,14 +61,15 @@ def finance_info_excel(data: schemas.FinanceInfo, request: Request, db: Session ...@@ -59,14 +61,15 @@ def finance_info_excel(data: schemas.FinanceInfo, request: Request, db: Session
@router.post("/finance/details") @router.post("/finance/details")
def finance_details(data: schemas.FinanceDetails, db: Session = Depends(get_db)): def finance_details(data: schemas.FinanceDetails, token=Depends(login_required), db: Session = Depends(get_db)):
"""账户财务明细""" """账户财务明细"""
res, total, count = crud.get_finance_details(db, data, 1) res, total, count = crud.get_finance_details(db, data, 1)
return HttpResultResponse(total=total, data=res, count=count) return HttpResultResponse(total=total, data=res, count=count)
@router.post("/finance/details/excel") @router.post("/finance/details/excel")
def finance_info_excel(data: schemas.FinanceDetails, request: Request, db: Session = Depends(get_db)): def finance_info_excel(data: schemas.FinanceDetails, request: Request,
token=Depends(login_required), db: Session = Depends(get_db)):
"""账户财务明细导出""" """账户财务明细导出"""
headers = request.get("headers") headers = request.get("headers")
statement_list = crud.get_finance_details(db, data) statement_list = crud.get_finance_details(db, data)
...@@ -74,14 +77,14 @@ def finance_info_excel(data: schemas.FinanceDetails, request: Request, db: Sessi ...@@ -74,14 +77,14 @@ def finance_info_excel(data: schemas.FinanceDetails, request: Request, db: Sessi
@router.post("/type") @router.post("/type")
def finance_fix(data: schemas.AccountTypeList, db: Session = Depends(get_db)): def finance_fix(data: schemas.AccountTypeList, token=Depends(login_required), db: Session = Depends(get_db)):
"""出入账目配置列表""" """出入账目配置列表"""
res, num = crud.get_account_type(db, data.dict(exclude_none=True)) res, num = crud.get_account_type(db, data.dict(exclude_none=True))
return HttpResultResponse(total=num, data=res) return HttpResultResponse(total=num, data=res)
@router.post("/type/update") @router.post("/type/update")
def finance_fix(data: schemas.AccountTypeList, db: Session = Depends(get_db)): def finance_fix(data: schemas.AccountTypeList, token=Depends(login_required), db: Session = Depends(get_db)):
"""出入账目类型修改""" """出入账目类型修改"""
res = crud.update_account_type(db, data) res = crud.update_account_type(db, data)
if res: if res:
...@@ -90,7 +93,7 @@ def finance_fix(data: schemas.AccountTypeList, db: Session = Depends(get_db)): ...@@ -90,7 +93,7 @@ def finance_fix(data: schemas.AccountTypeList, db: Session = Depends(get_db)):
@router.post("/create/type") @router.post("/create/type")
def create_user(data: schemas.CreateType, db: Session = Depends(get_db)): def create_user(data: schemas.CreateType, token=Depends(login_required), db: Session = Depends(get_db)):
"""添加账目类型""" """添加账目类型"""
res_type = crud.get_account_type_value(db, data.key_value) res_type = crud.get_account_type_value(db, data.key_value)
if res_type: if res_type:
......
...@@ -5,19 +5,20 @@ from sqlalchemy.orm import Session ...@@ -5,19 +5,20 @@ from sqlalchemy.orm import Session
from app import get_db from app import get_db
from app.api.export import schemas, crud from app.api.export import schemas, crud
from libs.result_format import HttpResultResponse, HttpMessage from libs.result_format import HttpResultResponse, HttpMessage
from libs.token_verify import login_required
router = APIRouter() router = APIRouter()
@router.post("/list") @router.post("/list")
def export_list(data: schemas.ExportList, db: Session = Depends(get_db)): def export_list(data: schemas.ExportList, token=Depends(login_required), db: Session = Depends(get_db)):
"""导出记录列表""" """导出记录列表"""
result, total = crud.get_export_list(db, data.dict(exclude_none=True)) result, total = crud.get_export_list(db, data.dict(exclude_none=True))
return HttpResultResponse(total=total, data=result) return HttpResultResponse(total=total, data=result)
@router.post("/update") @router.post("/update")
def update_export_list(data: schemas.ExportUpdateData, db: Session = Depends(get_db)): def update_export_list(data: schemas.ExportUpdateData, token=Depends(login_required), db: Session = Depends(get_db)):
"""导出记录修改""" """导出记录修改"""
result = crud.update_export(db, data) result = crud.update_export(db, data)
if result: if result:
...@@ -26,7 +27,7 @@ def update_export_list(data: schemas.ExportUpdateData, db: Session = Depends(get ...@@ -26,7 +27,7 @@ def update_export_list(data: schemas.ExportUpdateData, db: Session = Depends(get
@router.delete("/delete/{id}") @router.delete("/delete/{id}")
def delete_export_one(id:int, db: Session = Depends(get_db)): def delete_export_one(id:int, token=Depends(login_required), db: Session = Depends(get_db)):
"""导出记录删除""" """导出记录删除"""
is_delete = crud.delete_export(db, id) is_delete = crud.delete_export(db, id)
if is_delete: if is_delete:
...@@ -35,14 +36,14 @@ def delete_export_one(id:int, db: Session = Depends(get_db)): ...@@ -35,14 +36,14 @@ def delete_export_one(id:int, db: Session = Depends(get_db)):
@router.get("/source") @router.get("/source")
def export_source_query(db: Session = Depends(get_db)): def export_source_query(db: Session = Depends(get_db), token=Depends(login_required)):
"""导出来源查询""" """导出来源查询"""
result = crud.get_source_data(db) result = crud.get_source_data(db)
return HttpResultResponse(data=result) return HttpResultResponse(data=result)
@router.post("/month/total") @router.post("/month/total")
def month_query_total_export(param: schemas.MonthStatistics): def month_query_total_export(param: schemas.MonthStatistics, token=Depends(login_required)):
"""月度表计算""" """月度表计算"""
if not param.date: if not param.date:
month_date = datetime.now().date() - relativedelta(months=1) month_date = datetime.now().date() - relativedelta(months=1)
...@@ -53,7 +54,7 @@ def month_query_total_export(param: schemas.MonthStatistics): ...@@ -53,7 +54,7 @@ def month_query_total_export(param: schemas.MonthStatistics):
@router.post("/month/details") @router.post("/month/details")
def month_query_total_export(param: schemas.MonthDetails): def month_query_total_export(param: schemas.MonthDetails, token=Depends(login_required)):
"""月度计算,详情""" """月度计算,详情"""
if not param.date: if not param.date:
return HttpResultResponse(msg='查询月份不能为空') return HttpResultResponse(msg='查询月份不能为空')
...@@ -62,7 +63,7 @@ def month_query_total_export(param: schemas.MonthDetails): ...@@ -62,7 +63,7 @@ def month_query_total_export(param: schemas.MonthDetails):
@router.post("/error/data") @router.post("/error/data")
def month_query_error_data(param: schemas.MonthDetails): def month_query_error_data(param: schemas.MonthDetails, token=Depends(login_required)):
"""月度计算,异常数据""" """月度计算,异常数据"""
if not param.date: if not param.date:
return HttpResultResponse(msg='查询月份不能为空') return HttpResultResponse(msg='查询月份不能为空')
...@@ -71,7 +72,7 @@ def month_query_error_data(param: schemas.MonthDetails): ...@@ -71,7 +72,7 @@ def month_query_error_data(param: schemas.MonthDetails):
@router.post("/month") @router.post("/month")
def month_to_export(param: schemas.MonthStatistics): def month_to_export(param: schemas.MonthStatistics, token=Depends(login_required)):
"""月度表导出""" """月度表导出"""
if not param.date: if not param.date:
return HttpResultResponse(msg='查询月份不能为空') return HttpResultResponse(msg='查询月份不能为空')
......
...@@ -3,19 +3,20 @@ from sqlalchemy.orm import Session ...@@ -3,19 +3,20 @@ from sqlalchemy.orm import Session
from app import get_db from app import get_db
from app.api.margin import schemas, crud from app.api.margin import schemas, crud
from libs.result_format import HttpResultResponse from libs.result_format import HttpResultResponse
from libs.token_verify import login_required
router = APIRouter() router = APIRouter()
@router.post("/list") @router.post("/list")
def guild_margin_list(data: schemas.GuildMarginList, db: Session = Depends(get_db)): def guild_margin_list(data: schemas.GuildMarginList, token=Depends(login_required), db: Session = Depends(get_db)):
"""保证金列表""" """保证金列表"""
result, total = crud.get_margin(db, data.dict(exclude_none=True)) result, total = crud.get_margin(db, data.dict(exclude_none=True))
return HttpResultResponse(total=total, data=result) return HttpResultResponse(total=total, data=result)
@router.post("/examine") @router.post("/examine")
def margin_examine(data: schemas.MarginExamine, db: Session = Depends(get_db)): def margin_examine(data: schemas.MarginExamine, token=Depends(login_required), db: Session = Depends(get_db)):
"""保证金确认,拒绝""" """保证金确认,拒绝"""
result = crud.margin_dispose(db, data.dict(exclude_none=True)) result = crud.margin_dispose(db, data.dict(exclude_none=True))
return HttpResultResponse(msg=result) return HttpResultResponse(msg=result)
...@@ -3,12 +3,13 @@ from sqlalchemy.orm import Session ...@@ -3,12 +3,13 @@ from sqlalchemy.orm import Session
from app import get_db from app import get_db
from app.api.role import schemas, crud from app.api.role import schemas, crud
from libs.result_format import HttpResultResponse, HttpMessage from libs.result_format import HttpResultResponse, HttpMessage
from libs.token_verify import login_required
router = APIRouter() router = APIRouter()
@router.post("/create") @router.post("/create")
def create_user(data: schemas.RoleCreate, db: Session = Depends(get_db)): def create_user(data: schemas.RoleCreate, token=Depends(login_required), db: Session = Depends(get_db)):
"""添加角色""" """添加角色"""
db_role = crud.get_role_by_name(db, role_name=data.role_name) db_role = crud.get_role_by_name(db, role_name=data.role_name)
if db_role: if db_role:
...@@ -20,14 +21,14 @@ def create_user(data: schemas.RoleCreate, db: Session = Depends(get_db)): ...@@ -20,14 +21,14 @@ def create_user(data: schemas.RoleCreate, db: Session = Depends(get_db)):
@router.post("/update") @router.post("/update")
def read_user(data: schemas.RoleUpdate, db: Session = Depends(get_db)): def read_user(data: schemas.RoleUpdate, token=Depends(login_required), db: Session = Depends(get_db)):
"""角色权限分配""" """角色权限分配"""
crud.update_role(db, data) crud.update_role(db, data)
return HttpResultResponse() return HttpResultResponse()
@router.delete("/delete/{role_id}") @router.delete("/delete/{role_id}")
def delete_user(role_id: int, db: Session = Depends(get_db)): def delete_user(role_id: int, token=Depends(login_required), db: Session = Depends(get_db)):
"""角色删除""" """角色删除"""
res_bool = crud.delete_role(db, role_id) res_bool = crud.delete_role(db, role_id)
if not res_bool: if not res_bool:
...@@ -36,7 +37,7 @@ def delete_user(role_id: int, db: Session = Depends(get_db)): ...@@ -36,7 +37,7 @@ def delete_user(role_id: int, db: Session = Depends(get_db)):
@router.post("/list") @router.post("/list")
def role_list(data: schemas.RoleList, db: Session = Depends(get_db)): def role_list(data: schemas.RoleList, token=Depends(login_required), db: Session = Depends(get_db)):
"""角色列表""" """角色列表"""
result, total = crud.get_roles(db, data) result, total = crud.get_roles(db, data)
return HttpResultResponse(total=total, data=result) return HttpResultResponse(total=total, data=result)
...@@ -11,6 +11,7 @@ from app.api.statement.guild import GuildSet, paymentset_guild_data, outon_accou ...@@ -11,6 +11,7 @@ from app.api.statement.guild import GuildSet, paymentset_guild_data, outon_accou
from app.api.statement.schemas import PaymentWithdrawalList, PaymentAdd, PaymentAccountlList, UserNumber, CreateBill from app.api.statement.schemas import PaymentWithdrawalList, PaymentAdd, PaymentAccountlList, UserNumber, CreateBill
from libs.img_code import new_upload_file, random_number from libs.img_code import new_upload_file, random_number
from libs.result_format import HttpResultResponse from libs.result_format import HttpResultResponse
from libs.token_verify import login_required
from models.recharge import Paymentlog, Fitransferlog, Account_log from models.recharge import Paymentlog, Fitransferlog, Account_log
from models.account import Account from models.account import Account
...@@ -18,14 +19,15 @@ router = APIRouter() ...@@ -18,14 +19,15 @@ router = APIRouter()
@router.post("/recharge/list") @router.post("/recharge/list")
def statement_recharge_list(data: schemas.StatementList, db: Session = Depends(get_db)): def statement_recharge_list(data: schemas.StatementList, token=Depends(login_required), db: Session = Depends(get_db)):
"""充值报表列表""" """充值报表列表"""
statement_list, total, money = RechargeStatement().get_statements(db, data, 1) statement_list, total, money = RechargeStatement().get_statements(db, data, 1)
return HttpResultResponse(total=total, count=float(money), data=statement_list) return HttpResultResponse(total=total, count=float(money), data=statement_list)
@router.post("/derive/excel") @router.post("/derive/excel")
def statement_derive_excel(data: schemas.StatementList, request: Request, db: Session = Depends(get_db)): def statement_derive_excel(data: schemas.StatementList, request: Request,
token=Depends(login_required), db: Session = Depends(get_db)):
"""充值报表导出""" """充值报表导出"""
header_list = request.get("headers") header_list = request.get("headers")
statement_list = RechargeStatement().get_statements(db, data) statement_list = RechargeStatement().get_statements(db, data)
...@@ -33,28 +35,28 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se ...@@ -33,28 +35,28 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se
@router.post("/userWithdrawal/list") @router.post("/userWithdrawal/list")
def user_withdrawal_list(data: schemas.UserWithdrawalList, db: Session = Depends(get_db)): def user_withdrawal_list(data: schemas.UserWithdrawalList, token=Depends(login_required), db: Session = Depends(get_db)):
"""用户提现列表""" """用户提现列表"""
statement_list, total, money, final_money = WithdrawStatement().get_user_withdraw_cash(db, data) statement_list, total, money, final_money = WithdrawStatement().get_user_withdraw_cash(db, data)
return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=statement_list) return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=statement_list)
@router.post("/guildWithdrawal/list") @router.post("/guildWithdrawal/list")
def guild_withdrawal_list(data: schemas.GuildWithdrawalList, db: Session = Depends(get_db)): def guild_withdrawal_list(data: schemas.GuildWithdrawalList, token=Depends(login_required), db: Session = Depends(get_db)):
"""公会提现列表""" """公会提现列表"""
guild_list, total, money, final_money = WithdrawStatement().get_guild_withdraw_cash(db, data) guild_list, total, money, final_money = WithdrawStatement().get_guild_withdraw_cash(db, data)
return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=guild_list) return HttpResultResponse(total=total, count=float(money), actual_count=final_money, data=guild_list)
@router.post("/guild/settlement") @router.post("/guild/settlement")
def guild_settlement_list(data: schemas.GuildWithdrawalList, db: Session = Depends(get_db)): def guild_settlement_list(data: schemas.GuildWithdrawalList, token=Depends(login_required), db: Session = Depends(get_db)):
"""公会结算""" """公会结算"""
guild_list, total = GuildSet().get_guild_data(db, data) guild_list, total = GuildSet().get_guild_data(db, data)
return HttpResultResponse(total=total, data=guild_list) return HttpResultResponse(total=total, data=guild_list)
@router.post("/guild/payment") @router.post("/guild/payment")
def guild_payment_list(data:PaymentWithdrawalList,db: Session = Depends(get_db)): def guild_payment_list(data:PaymentWithdrawalList, token=Depends(login_required), db: Session = Depends(get_db)):
"""打款记录""" """打款记录"""
payment_list, total = paymentset_guild_data(db,Paymentlog,data.dict(exclude_none=True)) payment_list, total = paymentset_guild_data(db,Paymentlog,data.dict(exclude_none=True))
return HttpResultResponse(total=total, data=payment_list) return HttpResultResponse(total=total, data=payment_list)
...@@ -71,7 +73,7 @@ async def uploadFile(a_file: bytes = File(...)): ...@@ -71,7 +73,7 @@ async def uploadFile(a_file: bytes = File(...)):
@router.post("/payment/add") @router.post("/payment/add")
def guild_payment_list(data: PaymentAdd, db: Session = Depends(get_db)): def guild_payment_list(data: PaymentAdd, token=Depends(login_required), db: Session = Depends(get_db)):
"""提交打款""" """提交打款"""
dataPayment = Paymentlog(uuid=data.uuid, money=data.money, cont=data.cont,url=data.url,create_time=datetime.now()) dataPayment = Paymentlog(uuid=data.uuid, money=data.money, cont=data.cont,url=data.url,create_time=datetime.now())
db.add(dataPayment) db.add(dataPayment)
...@@ -82,35 +84,36 @@ def guild_payment_list(data: PaymentAdd, db: Session = Depends(get_db)): ...@@ -82,35 +84,36 @@ def guild_payment_list(data: PaymentAdd, db: Session = Depends(get_db)):
@router.get("/onaccount") @router.get("/onaccount")
def outon_account(db: Session = Depends(get_db)): def outon_account(db: Session = Depends(get_db), token=Depends(login_required)):
"""转出和转入账户人员列表""" """转出和转入账户人员列表"""
account_list, total = outon_account_data(db, Account, {}) account_list, total = outon_account_data(db, Account, {})
return HttpResultResponse(total=total, data=account_list) return HttpResultResponse(total=total, data=account_list)
@router.post("/transferlist") @router.post("/transferlist")
def outon_account(data: PaymentAccountlList, db: Session = Depends(get_db)): def outon_account(data: PaymentAccountlList, token=Depends(login_required), db: Session = Depends(get_db)):
"""转账列表""" """转账列表"""
account_list, total = accout_list_data(db, Fitransferlog, data.dict(exclude_none=True)) account_list, total = accout_list_data(db, Fitransferlog, data.dict(exclude_none=True))
return HttpResultResponse(total=total, data=account_list) return HttpResultResponse(total=total, data=account_list)
@router.post("/query/consumable") @router.post("/query/consumable")
def query_account_money(data: UserNumber, db: Session = Depends(get_db)): def query_account_money(data: UserNumber, token=Depends(login_required), db: Session = Depends(get_db)):
"""查询账户余额""" """查询账户余额"""
consumable = account_money(db, data) consumable = account_money(db, data)
return HttpResultResponse(data=int(consumable)) return HttpResultResponse(data=int(consumable))
@router.post("/query/uuid") @router.post("/query/uuid")
def query_uuid_account(data: UserNumber, db: Session = Depends(get_db)): def query_uuid_account(data: UserNumber, token=Depends(login_required), db: Session = Depends(get_db)):
"""uuid user_number查询""" """uuid user_number查询"""
user_info = query_uuid_or_user_number(db, data) user_info = query_uuid_or_user_number(db, data)
return HttpResultResponse(data=user_info) return HttpResultResponse(data=user_info)
@router.post("/transfer/money") @router.post("/transfer/money")
def account_transfer_money(data: CreateBill, request: Request, db: Session = Depends(get_db)): def account_transfer_money(data: CreateBill, request: Request,
token=Depends(login_required), db: Session = Depends(get_db)):
"""账户转账""" """账户转账"""
header_list = request.get("headers") header_list = request.get("headers")
res_info = transfer_money(db, data, header_list) res_info = transfer_money(db, data, header_list)
...@@ -120,21 +123,22 @@ def account_transfer_money(data: CreateBill, request: Request, db: Session = Dep ...@@ -120,21 +123,22 @@ def account_transfer_money(data: CreateBill, request: Request, db: Session = Dep
@router.post("/guild/update") @router.post("/guild/update")
def guild_update_list(data: schemas.GuildUpdate, db: Session = Depends(get_db)): def guild_update_list(data: schemas.GuildUpdate, token=Depends(login_required), db: Session = Depends(get_db)):
"""公会结算""" """公会结算"""
GuildSet().update_guild_info(db, data) GuildSet().update_guild_info(db, data)
return HttpResultResponse() return HttpResultResponse()
@router.post("/finance/fix") @router.post("/finance/fix")
def finance_fix(data: acc_schemas.PublicModel, db: Session = Depends(get_db)): def finance_fix(data: acc_schemas.PublicModel, token=Depends(login_required), db: Session = Depends(get_db)):
"""账户修复报表""" """账户修复报表"""
res, num = crud.FinanceFix.get_finance_fix_data(db, data.dict(exclude_none=True)) res, num = crud.FinanceFix.get_finance_fix_data(db, data.dict(exclude_none=True))
return HttpResultResponse(total=num, data=res) return HttpResultResponse(total=num, data=res)
@router.post("/submit/fixTable") @router.post("/submit/fixTable")
def finance_fix(data: acc_schemas.FixTable, request: Request, db: Session = Depends(get_db)): def finance_fix(data: acc_schemas.FixTable, request: Request,
token=Depends(login_required), db: Session = Depends(get_db)):
"""新增修复报表""" """新增修复报表"""
header_list = request.get("headers") header_list = request.get("headers")
res = guild.create_fix_table(db, data, header_list) res = guild.create_fix_table(db, data, header_list)
...@@ -142,21 +146,21 @@ def finance_fix(data: acc_schemas.FixTable, request: Request, db: Session = Depe ...@@ -142,21 +146,21 @@ def finance_fix(data: acc_schemas.FixTable, request: Request, db: Session = Depe
@router.post("/data/recovery") @router.post("/data/recovery")
def recovery_fix(data: acc_schemas.Recovery_fix, db: Session = Depends(get_db)): def recovery_fix(data: acc_schemas.Recovery_fix, token=Depends(login_required), db: Session = Depends(get_db)):
"""异常数据修复""" """异常数据修复"""
recovery_list, total = guild.recovery_fix_data(db, Account_log, data.dict(exclude_none=True)) recovery_list, total = guild.recovery_fix_data(db, Account_log, data.dict(exclude_none=True))
return HttpResultResponse(total=total, data=recovery_list) return HttpResultResponse(total=total, data=recovery_list)
@router.post("/submit/recovery") @router.post("/submit/recovery")
def finance_fix(data: acc_schemas.RecoveryTable, db: Session = Depends(get_db)): def finance_fix(data: acc_schemas.RecoveryTable, token=Depends(login_required), db: Session = Depends(get_db)):
"""新增异常数据修复""" """新增异常数据修复"""
res = guild.create_recovery_table(db, data) res = guild.create_recovery_table(db, data)
return HttpResultResponse(data=res.id) return HttpResultResponse(data=res.id)
@router.post("/recovery/fix") @router.post("/recovery/fix")
def recovery_fix(data: acc_schemas.RecoveryupdateTable, db: Session = Depends(get_db)): def recovery_fix(data: acc_schemas.RecoveryupdateTable, token=Depends(login_required), db: Session = Depends(get_db)):
"""异常数据修复""" """异常数据修复"""
res = guild.update_recovery_table(db, data.dict(exclude_none=True)) res = guild.update_recovery_table(db, data.dict(exclude_none=True))
return HttpResultResponse(data=res.get("id")) return HttpResultResponse(data=res.get("id"))
...@@ -11,7 +11,7 @@ from app.api.users.schemas import UserLoginForm, GoogleCode, GoogleLogin ...@@ -11,7 +11,7 @@ from app.api.users.schemas import UserLoginForm, GoogleCode, GoogleLogin
from libs.google_code import get_qrcode, google_verify_result from libs.google_code import get_qrcode, google_verify_result
from libs.img_code import imageCode from libs.img_code import imageCode
from libs.result_format import HttpResultResponse, HttpMessage from libs.result_format import HttpResultResponse, HttpMessage
from libs.token_verify import auth_token, get_current_user from libs.token_verify import auth_token, get_current_user, login_required
router = APIRouter() router = APIRouter()
...@@ -22,7 +22,7 @@ def img_code(): ...@@ -22,7 +22,7 @@ def img_code():
@router.post("/login") @router.post("/login")
def login(form_data: UserLoginForm, db: Session = Depends(get_db)): def login(form_data: UserLoginForm, token=Depends(login_required), db: Session = Depends(get_db)):
user_info = authenticate_user(db=db, form_data=form_data) user_info = authenticate_user(db=db, form_data=form_data)
if not user_info.get("result"): if not user_info.get("result"):
return HttpResultResponse(code=500, msg=user_info.get("msg"), data={}) return HttpResultResponse(code=500, msg=user_info.get("msg"), data={})
...@@ -30,7 +30,7 @@ def login(form_data: UserLoginForm, db: Session = Depends(get_db)): ...@@ -30,7 +30,7 @@ def login(form_data: UserLoginForm, db: Session = Depends(get_db)):
@router.post("/goodleCode") @router.post("/goodleCode")
def goodle_code(data: GoogleCode, db: Session = Depends(get_db)): def goodle_code(data: GoogleCode, token=Depends(login_required), db: Session = Depends(get_db)):
user_data = get_user(db, data.username) user_data = get_user(db, data.username)
google_key = pyotp.random_base32(64) google_key = pyotp.random_base32(64)
google_img = get_qrcode(username=user_data.username, gtoken=google_key).decode('utf-8') google_img = get_qrcode(username=user_data.username, gtoken=google_key).decode('utf-8')
...@@ -38,7 +38,7 @@ def goodle_code(data: GoogleCode, db: Session = Depends(get_db)): ...@@ -38,7 +38,7 @@ def goodle_code(data: GoogleCode, db: Session = Depends(get_db)):
@router.post("/googleLogin") @router.post("/googleLogin")
def google_login(data: GoogleLogin, db: Session = Depends(get_db)): def google_login(data: GoogleLogin, token=Depends(login_required), db: Session = Depends(get_db)):
auth_info = authenticate_pwd(db=db, form_data=data) auth_info = authenticate_pwd(db=db, form_data=data)
if not auth_info.get("result"): if not auth_info.get("result"):
return HttpResultResponse(code=500, msg=auth_info.get("msg")) return HttpResultResponse(code=500, msg=auth_info.get("msg"))
...@@ -63,7 +63,7 @@ def token_user(token=Depends(auth_token), db: Session = Depends(get_db)): ...@@ -63,7 +63,7 @@ def token_user(token=Depends(auth_token), db: Session = Depends(get_db)):
@router.post("/create") @router.post("/create")
def create_user(data: schemas.UserCreate, db: Session = Depends(get_db)): def create_user(data: schemas.UserCreate, token=Depends(login_required), db: Session = Depends(get_db)):
"""添加用户""" """添加用户"""
db_user = crud.get_user_by_name(db, username=data.username) db_user = crud.get_user_by_name(db, username=data.username)
if db_user: if db_user:
...@@ -75,28 +75,29 @@ def create_user(data: schemas.UserCreate, db: Session = Depends(get_db)): ...@@ -75,28 +75,29 @@ def create_user(data: schemas.UserCreate, db: Session = Depends(get_db)):
@router.post("/permission/allocation") @router.post("/permission/allocation")
def read_user(data: schemas.PermissionCreate, db: Session = Depends(get_db)): def read_user(data: schemas.PermissionCreate, token=Depends(login_required), db: Session = Depends(get_db)):
"""用户修改""" """用户修改"""
crud.update_user(db, data) crud.update_user(db, data)
return HttpResultResponse() return HttpResultResponse()
@router.post("/list") @router.post("/list")
def user_list(data: schemas.UserList, db: Session = Depends(get_db)): def user_list(data: schemas.UserList, token=Depends(login_required), db: Session = Depends(get_db)):
"""用户列表""" """用户列表"""
result, total = crud.get_users(db, data) result, total = crud.get_users(db, data)
return HttpResultResponse(total=total, data=result) return HttpResultResponse(total=total, data=result)
@router.delete("/delete/{user_id}") @router.delete("/delete/{user_id}")
def delete_user(user_id: int, db: Session = Depends(get_db)): def delete_user(user_id: int, token=Depends(login_required), db: Session = Depends(get_db)):
"""用户删除""" """用户删除"""
crud.delete_user(db, user_id) crud.delete_user(db, user_id)
return HttpResultResponse() return HttpResultResponse()
@router.post("/update") @router.post("/update")
def update_individual_info(param: schemas.UserUpdate, request: Request, db: Session = Depends(get_db)): def update_individual_info(param: schemas.UserUpdate, request: Request,
token=Depends(login_required), db: Session = Depends(get_db)):
"""个人信息修改""" """个人信息修改"""
headers = request.get("headers") headers = request.get("headers")
user = query_token(db, headers) user = query_token(db, headers)
......
import datetime import datetime
import json import json
from jose.exceptions import JWEError, ExpiredSignatureError
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from fastapi import Depends, HTTPException, status from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer from fastapi.security import OAuth2PasswordBearer
from jose import jwt, JWTError from jose import jwt, JWTError
from app import get_db
from app.api.role.crud import get_id_to_authority from app.api.role.crud import get_id_to_authority
from app.api.users import crud from app.api.users import crud
from app.api.users.login_verification import get_user from app.api.users.login_verification import get_user
from core.config.env import env from core.config.env import env
from libs.functions import md5
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
...@@ -58,3 +61,46 @@ def get_current_user(db: Session, token: str = Depends(oauth2_scheme)): ...@@ -58,3 +61,46 @@ def get_current_user(db: Session, token: str = Depends(oauth2_scheme)):
return json_data return json_data
except JWTError as e: except JWTError as e:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=f'{e}') raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=f'{e}')
def judgeToken(token):
"""
判断token
:param token: token串
:return: boolen
"""
try:
db: Session = next(get_db())
payload = jwt.decode(token, env.SECRET_KEY, algorithms=[env.ALGORITHM])
user_data = get_user(db, username=payload.get("username"))
old_password = md5(payload["password"])
if old_password == user_data.hashed_password:
print(md5(payload["password"]))
print(user_data.hashed_password)
return True
else:
print("token 身份错误")
return False
except ExpiredSignatureError as e:
print("token 过期了,{}".format(str(e)))
return False
except JWEError as e:
print("token 验证失败,{}".format(str(e)))
return False
def login_required(token=Depends(oauth2_scheme)):
"""
登录认证token
:param token:
:return:boolen
"""
credentials_exception = HTTPException(
status_code=status.HTTP_411_LENGTH_REQUIRED,
detail="Authenticate fail!",
headers={"WWW-Authenticate": "Bearer"}
)
if judgeToken(token):
return True
else:
raise credentials_exception
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