Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
financial-system
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xianyang
financial-system
Commits
8b368c3a
Commit
8b368c3a
authored
Mar 17, 2023
by
xianyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加代码token权限(xp),优化账户明细查询
parent
484d146e
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
111 additions
and
54 deletions
+111
-54
crud.py
app/api/account/crud.py
+2
-2
views.py
app/api/account/views.py
+14
-11
views.py
app/api/export/views.py
+9
-8
views.py
app/api/margin/views.py
+3
-2
views.py
app/api/role/views.py
+5
-4
views.py
app/api/statement/views.py
+22
-18
views.py
app/api/users/views.py
+10
-9
token_verify.py
libs/token_verify.py
+46
-0
No files found.
app/api/account/crud.py
View file @
8b368c3a
...
...
@@ -120,9 +120,9 @@ def get_finance_details(db, data, is_list=None):
if
data
.
gift_type
:
finance_condition
.
append
(
AccountFinanceDetails
.
gift_type
==
data
.
gift_type
)
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
:
finance_condition
.
append
(
AccountFinanceDetails
.
create_time
<=
data
.
end_time
)
finance_condition
.
append
(
AccountFinanceDetails
.
create_time
<=
data
.
end_time
+
" 23:59:59"
)
try
:
get_details_orm
=
db
.
query
(
AccountFinanceDetails
)
.
filter
(
and_
(
*
finance_condition
))
condition_data
=
db
.
execute
(
get_details_orm
)
.
fetchall
()
...
...
app/api/account/views.py
View file @
8b368c3a
...
...
@@ -4,12 +4,13 @@ from app import get_db
from
app.api.account
import
schemas
,
crud
from
app.api.statement
import
crud
as
statement_crud
from
libs.result_format
import
HttpResultResponse
,
HttpMessage
from
libs.token_verify
import
login_required
router
=
APIRouter
()
@
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
)
if
db_info
:
...
...
@@ -21,21 +22,21 @@ def create_account(data: schemas.AccountCreate, db: Session = Depends(get_db)):
@
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
)
return
HttpResultResponse
(
total
=
num
,
data
=
result
)
@
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
)
return
HttpResultResponse
(
data
=
result
)
@
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
:
return
HttpResultResponse
(
code
=
500
,
msg
=
"账户名不能为空"
)
...
...
@@ -44,14 +45,15 @@ def read_account(data: schemas.AccountUpdate, db: Session = Depends(get_db)):
@
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
)
return
HttpResultResponse
(
total
=
total
,
data
=
res
[
int
(
data
.
page
-
1
)
*
data
.
size
:
data
.
page
*
data
.
size
])
@
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"
)
statement_list
=
crud
.
get_finance_info
(
db
,
data
)
...
...
@@ -59,14 +61,15 @@ def finance_info_excel(data: schemas.FinanceInfo, request: Request, db: Session
@
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
)
return
HttpResultResponse
(
total
=
total
,
data
=
res
,
count
=
count
)
@
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"
)
statement_list
=
crud
.
get_finance_details
(
db
,
data
)
...
...
@@ -74,14 +77,14 @@ def finance_info_excel(data: schemas.FinanceDetails, request: Request, db: Sessi
@
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
))
return
HttpResultResponse
(
total
=
num
,
data
=
res
)
@
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
)
if
res
:
...
...
@@ -90,7 +93,7 @@ def finance_fix(data: schemas.AccountTypeList, db: Session = Depends(get_db)):
@
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
)
if
res_type
:
...
...
app/api/export/views.py
View file @
8b368c3a
...
...
@@ -5,19 +5,20 @@ from sqlalchemy.orm import Session
from
app
import
get_db
from
app.api.export
import
schemas
,
crud
from
libs.result_format
import
HttpResultResponse
,
HttpMessage
from
libs.token_verify
import
login_required
router
=
APIRouter
()
@
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
))
return
HttpResultResponse
(
total
=
total
,
data
=
result
)
@
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
)
if
result
:
...
...
@@ -26,7 +27,7 @@ def update_export_list(data: schemas.ExportUpdateData, db: Session = Depends(get
@
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
)
if
is_delete
:
...
...
@@ -35,14 +36,14 @@ def delete_export_one(id:int, db: Session = Depends(get_db)):
@
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
)
return
HttpResultResponse
(
data
=
result
)
@
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
:
month_date
=
datetime
.
now
()
.
date
()
-
relativedelta
(
months
=
1
)
...
...
@@ -53,7 +54,7 @@ def month_query_total_export(param: schemas.MonthStatistics):
@
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
:
return
HttpResultResponse
(
msg
=
'查询月份不能为空'
)
...
...
@@ -62,7 +63,7 @@ def month_query_total_export(param: schemas.MonthDetails):
@
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
:
return
HttpResultResponse
(
msg
=
'查询月份不能为空'
)
...
...
@@ -71,7 +72,7 @@ def month_query_error_data(param: schemas.MonthDetails):
@
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
:
return
HttpResultResponse
(
msg
=
'查询月份不能为空'
)
...
...
app/api/margin/views.py
View file @
8b368c3a
...
...
@@ -3,19 +3,20 @@ from sqlalchemy.orm import Session
from
app
import
get_db
from
app.api.margin
import
schemas
,
crud
from
libs.result_format
import
HttpResultResponse
from
libs.token_verify
import
login_required
router
=
APIRouter
()
@
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
))
return
HttpResultResponse
(
total
=
total
,
data
=
result
)
@
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
))
return
HttpResultResponse
(
msg
=
result
)
app/api/role/views.py
View file @
8b368c3a
...
...
@@ -3,12 +3,13 @@ from sqlalchemy.orm import Session
from
app
import
get_db
from
app.api.role
import
schemas
,
crud
from
libs.result_format
import
HttpResultResponse
,
HttpMessage
from
libs.token_verify
import
login_required
router
=
APIRouter
()
@
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
)
if
db_role
:
...
...
@@ -20,14 +21,14 @@ def create_user(data: schemas.RoleCreate, db: Session = Depends(get_db)):
@
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
)
return
HttpResultResponse
()
@
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
)
if
not
res_bool
:
...
...
@@ -36,7 +37,7 @@ def delete_user(role_id: int, db: Session = Depends(get_db)):
@
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
)
return
HttpResultResponse
(
total
=
total
,
data
=
result
)
app/api/statement/views.py
View file @
8b368c3a
...
...
@@ -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
libs.img_code
import
new_upload_file
,
random_number
from
libs.result_format
import
HttpResultResponse
from
libs.token_verify
import
login_required
from
models.recharge
import
Paymentlog
,
Fitransferlog
,
Account_log
from
models.account
import
Account
...
...
@@ -18,14 +19,15 @@ router = APIRouter()
@
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
)
return
HttpResultResponse
(
total
=
total
,
count
=
float
(
money
),
data
=
statement_list
)
@
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"
)
statement_list
=
RechargeStatement
()
.
get_statements
(
db
,
data
)
...
...
@@ -33,28 +35,28 @@ def statement_derive_excel(data: schemas.StatementList, request: Request, db: Se
@
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
)
return
HttpResultResponse
(
total
=
total
,
count
=
float
(
money
),
actual_count
=
final_money
,
data
=
statement_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
)
return
HttpResultResponse
(
total
=
total
,
count
=
float
(
money
),
actual_count
=
final_money
,
data
=
guild_list
)
@
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
)
return
HttpResultResponse
(
total
=
total
,
data
=
guild_list
)
@
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
))
return
HttpResultResponse
(
total
=
total
,
data
=
payment_list
)
...
...
@@ -71,7 +73,7 @@ async def uploadFile(a_file: bytes = File(...)):
@
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
())
db
.
add
(
dataPayment
)
...
...
@@ -82,35 +84,36 @@ def guild_payment_list(data: PaymentAdd, db: Session = Depends(get_db)):
@
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
,
{})
return
HttpResultResponse
(
total
=
total
,
data
=
account_list
)
@
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
))
return
HttpResultResponse
(
total
=
total
,
data
=
account_list
)
@
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
)
return
HttpResultResponse
(
data
=
int
(
consumable
))
@
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查询"""
user_info
=
query_uuid_or_user_number
(
db
,
data
)
return
HttpResultResponse
(
data
=
user_info
)
@
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"
)
res_info
=
transfer_money
(
db
,
data
,
header_list
)
...
...
@@ -120,21 +123,22 @@ def account_transfer_money(data: CreateBill, request: Request, db: Session = Dep
@
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
)
return
HttpResultResponse
()
@
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
))
return
HttpResultResponse
(
total
=
num
,
data
=
res
)
@
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"
)
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
@
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
))
return
HttpResultResponse
(
total
=
total
,
data
=
recovery_list
)
@
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
)
return
HttpResultResponse
(
data
=
res
.
id
)
@
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
))
return
HttpResultResponse
(
data
=
res
.
get
(
"id"
))
app/api/users/views.py
View file @
8b368c3a
...
...
@@ -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.img_code
import
imageCode
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
()
...
...
@@ -22,7 +22,7 @@ def img_code():
@
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
)
if
not
user_info
.
get
(
"result"
):
return
HttpResultResponse
(
code
=
500
,
msg
=
user_info
.
get
(
"msg"
),
data
=
{})
...
...
@@ -30,7 +30,7 @@ def login(form_data: UserLoginForm, db: Session = Depends(get_db)):
@
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
)
google_key
=
pyotp
.
random_base32
(
64
)
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)):
@
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
)
if
not
auth_info
.
get
(
"result"
):
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)):
@
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
)
if
db_user
:
...
...
@@ -75,28 +75,29 @@ def create_user(data: schemas.UserCreate, db: Session = Depends(get_db)):
@
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
)
return
HttpResultResponse
()
@
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
)
return
HttpResultResponse
(
total
=
total
,
data
=
result
)
@
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
)
return
HttpResultResponse
()
@
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"
)
user
=
query_token
(
db
,
headers
)
...
...
libs/token_verify.py
View file @
8b368c3a
import
datetime
import
json
from
jose.exceptions
import
JWEError
,
ExpiredSignatureError
from
sqlalchemy.orm
import
Session
from
fastapi
import
Depends
,
HTTPException
,
status
from
fastapi.security
import
OAuth2PasswordBearer
from
jose
import
jwt
,
JWTError
from
app
import
get_db
from
app.api.role.crud
import
get_id_to_authority
from
app.api.users
import
crud
from
app.api.users.login_verification
import
get_user
from
core.config.env
import
env
from
libs.functions
import
md5
oauth2_scheme
=
OAuth2PasswordBearer
(
tokenUrl
=
"token"
)
...
...
@@ -58,3 +61,46 @@ def get_current_user(db: Session, token: str = Depends(oauth2_scheme)):
return
json_data
except
JWTError
as
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment