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
69fc622c
Commit
69fc622c
authored
Mar 06, 2023
by
xupeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码修改
parent
f0925b50
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
134 additions
and
3 deletions
+134
-3
schemas.py
app/api/account/schemas.py
+17
-0
views.py
app/api/margin/views.py
+3
-0
guild.py
app/api/statement/guild.py
+52
-1
views.py
app/api/statement/views.py
+25
-1
orm.py
libs/orm.py
+18
-1
recharge.py
models/recharge.py
+19
-0
No files found.
app/api/account/schemas.py
View file @
69fc622c
...
...
@@ -47,3 +47,20 @@ class FixTable(BaseModel):
money
:
float
amount_type
:
str
remark
:
str
class
Recovery_fix
(
PublicModel
):
uuid
:
Optional
[
str
]
=
None
class
RecoveryTable
(
BaseModel
):
uuid
:
Optional
[
str
]
=
None
type
:
Optional
[
int
]
=
None
out_money
:
Optional
[
int
]
=
None
entry_money
:
Optional
[
float
]
=
None
from_time
:
Optional
[
str
]
=
None
cont
:
Optional
[
str
]
=
None
class
RecoveryupdateTable
(
RecoveryTable
):
id
:
int
\ No newline at end of file
app/api/margin/views.py
View file @
69fc622c
...
...
@@ -12,3 +12,6 @@ def guild_margin_list(data: schemas.GuildMarginList, db: Session = Depends(get_d
"""保证金列表"""
result
=
crud
.
get_margin
(
db
,
data
)
return
HttpResultResponse
(
total
=
len
(
result
),
data
=
result
[
int
(
data
.
page
-
1
)
*
data
.
size
:
data
.
page
*
data
.
size
])
app/api/statement/guild.py
View file @
69fc622c
...
...
@@ -6,7 +6,7 @@ from sqlalchemy.orm import Session
from
libs.functions
import
get_now_timestamp
,
get_now_datetime
from
libs.orm
import
QueryAllData
from
libs.token_verify
import
get_current_user
from
models.recharge
import
Settlement
,
Fitransferlog
,
FinanceFixLog
from
models.recharge
import
Settlement
,
Fitransferlog
,
FinanceFixLog
,
Fiaccount
,
Account_log
from
models.users
import
V2User
from
models.guild
import
Guild
from
models.account
import
Account
...
...
@@ -199,3 +199,54 @@ def create_fix_table(db: Session, param, h_list):
print
(
e
)
return
{}
return
present
def
recovery_fix_data
(
db
:
Session
,
dbname
,
params
):
recovery_list
=
[]
if
params
.
get
(
"uuid"
):
recovery_list
.
append
(
dbname
.
uuid
==
params
.
get
(
"uuid"
))
if
params
.
get
(
"start_time"
):
recovery_list
.
append
(
dbname
.
create_time
>=
params
.
get
(
"start_time"
))
if
params
.
get
(
"end_time"
):
recovery_list
.
append
(
dbname
.
create_time
<=
params
.
get
(
"end_time"
))
querydata
,
count
=
QueryAllData
(
db
,
dbname
,
params
,
recovery_list
)
.
query_data
()
data
=
[
QueryAllData
.
serialization
(
item
)
for
item
in
querydata
]
for
item
in
data
:
accout_filters
=
[]
accout_filters
.
append
(
dbname
.
uuid
==
item
.
get
(
"uuid"
))
names
=
QueryAllData
(
db
,
Fiaccount
,{},
accout_filters
)
.
query_filter
()
if
names
:
item
[
'name'
]
=
names
.
name
item
[
'uuid'
]
=
names
.
uuid
else
:
item
[
'name'
]
=
''
return
data
,
count
def
create_recovery_table
(
db
:
Session
,
param
):
"""增加修复报表"""
try
:
present
=
Account_log
(
type
=
param
.
type
,
uuid
=
param
.
uuid
,
out_money
=
param
.
out_money
,
cont
=
param
.
cont
,
entry_money
=
param
.
entry_money
,
from_time
=
param
.
from_time
,
create_time
=
get_now_datetime
())
db
.
add
(
present
)
db
.
commit
()
db
.
refresh
(
present
)
except
Exception
as
e
:
return
{}
return
present
def
update_recovery_table
(
db
:
Session
,
data
):
"""修改修复报表"""
try
:
accout_filters
=
[]
accout_filters
.
append
(
Account_log
.
id
==
data
.
get
(
"id"
))
db
.
query
(
Account_log
)
.
filter
(
Account_log
.
id
==
data
.
get
(
"id"
))
.
update
(
data
)
db
.
commit
()
except
Exception
as
e
:
print
(
e
)
return
{}
return
data
\ No newline at end of file
app/api/statement/views.py
View file @
69fc622c
import
json
from
datetime
import
datetime
from
app.api.statement
import
crud
,
schemas
,
guild
from
app.api.account
import
schemas
as
acc_schemas
...
...
@@ -10,7 +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
models.recharge
import
Paymentlog
,
Fiaccount
,
Fitransferlog
from
models.recharge
import
Paymentlog
,
Fiaccount
,
Fitransferlog
,
Account_log
router
=
APIRouter
()
...
...
@@ -132,3 +133,26 @@ def finance_fix(data: acc_schemas.FixTable, request: Request, db: Session = Depe
header_list
=
request
.
get
(
"headers"
)
res
=
guild
.
create_fix_table
(
db
,
data
,
header_list
)
return
HttpResultResponse
(
data
=
res
.
id
)
@
router
.
post
(
"/data/recovery"
)
def
recovery_fix
(
data
:
acc_schemas
.
Recovery_fix
,
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
)):
"""新增异常数据修复"""
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
)):
"""异常数据修复"""
res
=
guild
.
update_recovery_table
(
db
,
data
.
dict
(
exclude_none
=
True
))
return
HttpResultResponse
(
data
=
res
.
get
(
"id"
))
\ No newline at end of file
libs/orm.py
View file @
69fc622c
...
...
@@ -36,7 +36,8 @@ class QueryAllData:
'''
单个查询
'''
pass
queryData
=
self
.
db
.
query
(
self
.
dbname
)
.
filter
(
*
self
.
params_list
)
.
first
()
return
queryData
def
set_attrs
(
self
,
attrs_dict
):
"""批量更新模型的字段数据
...
...
@@ -45,6 +46,22 @@ class QueryAllData:
setattr
(
self
,
key
,
value
)
return
self
def
direct_add_
(
self
):
"""直接添加事务"""
self
.
db
.
session
.
add
(
self
)
return
self
def
direct_commit_
(
self
):
"""直接提交"""
self
.
direct_add_
()
self
.
db
.
session
.
commit
()
return
self
def
direct_update_
(
self
):
"""直接更新"""
self
.
db
.
session
.
commit
()
return
self
def
serialization
(
self
,
funcs
:
list
=
None
,
remove
:
set
=
None
,
increase
:
set
=
None
)
->
dict
:
"""序列化指定字段
:return: dict({'field_name': field_value})
...
...
models/recharge.py
View file @
69fc622c
...
...
@@ -148,3 +148,22 @@ class FinanceFixLog(Base, SerializerMixin):
create_time
=
Column
(
DateTime
,
comment
=
"创建时间"
)
__table_args__
=
{
'comment'
:
'财务修复日志'
}
class
Account_log
(
Base
,
SerializerMixin
):
"""账户修复记录表"""
__tablename__
=
"account_log"
id
=
Column
(
Integer
,
primary_key
=
True
,
index
=
True
)
cont
=
Column
(
String
(
255
),
comment
=
"备注"
)
out_money
=
Column
(
DECIMAL
(
11
,
3
),
comment
=
"出账"
)
entry_money
=
Column
(
DECIMAL
(
11
,
3
),
comment
=
"入账"
)
create_time
=
Column
(
DateTime
,
comment
=
"创建时间"
)
befor_out_money
=
Column
(
DECIMAL
,
comment
=
"数据产生之前的全部数据"
)
befor_entry_money
=
Column
(
DECIMAL
(
11
,
3
),
comment
=
"创建时间之前的所有数据总和"
)
uuid
=
Column
(
String
(
255
),
comment
=
"所属uuid"
)
from_time
=
Column
(
DateTime
,
comment
=
"数据所属时间"
)
type
=
Column
(
Integer
,
comment
=
"uuid类型0系统账户1公会账户2用户账户3背包账户"
)
__table_args__
=
{
'comment'
:
'财务修复日志'
}
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