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
0f9d5fa7
Commit
0f9d5fa7
authored
Mar 01, 2023
by
xianyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
保证金操作接口
parent
f21e5452
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
103 additions
and
4 deletions
+103
-4
crud.py
app/api/account/crud.py
+20
-1
schemas.py
app/api/account/schemas.py
+8
-0
views.py
app/api/account/views.py
+7
-0
crud.py
app/api/margin/crud.py
+33
-0
schemas.py
app/api/margin/schemas.py
+7
-0
views.py
app/api/margin/views.py
+7
-0
result_format.py
libs/result_format.py
+2
-2
__init__.py
models/__init__.py
+2
-1
guild.py
models/guild.py
+17
-0
No files found.
app/api/account/crud.py
View file @
0f9d5fa7
...
...
@@ -4,8 +4,9 @@ from sqlalchemy import and_
from
sqlalchemy.orm
import
Session
from
app.api.account
import
schemas
from
libs.functions
import
wrapper_out
from
libs.orm
import
QueryAllData
from
models
import
account
as
models
from
models.account
import
AccountFinance
,
AccountFinanceDetails
from
models.account
import
AccountFinance
,
AccountFinanceDetails
,
AccountType
def
get_account
(
db
:
Session
,
name
:
str
):
...
...
@@ -143,3 +144,21 @@ def get_finance_details(db, data, is_list=None):
return
serial_info
[(
int
(
data
.
page
)
-
1
)
*
data
.
size
:
data
.
size
*
data
.
page
],
len
(
serial_info
),
count
else
:
return
serial_info
def
get_account_type
(
db
:
Session
,
data
):
"""礼物类型配置列表"""
finance_filters
=
[]
if
data
.
get
(
"key_name"
):
finance_filters
.
append
(
AccountType
.
key_name
==
data
.
get
(
"key_name"
))
if
data
.
get
(
"key_value"
):
finance_filters
.
append
(
AccountType
.
key_value
==
data
.
get
(
"key_value"
))
if
data
.
get
(
"type"
)
or
data
.
get
(
"type"
)
==
0
:
finance_filters
.
append
(
AccountType
.
type
==
data
.
get
(
"type"
))
if
data
.
get
(
"start_time"
):
finance_filters
.
append
(
AccountType
.
create_time
>=
data
.
get
(
"start_time"
)
+
" 00:00:00"
)
if
data
.
get
(
"end_time"
):
finance_filters
.
append
(
AccountType
.
create_time
<=
data
.
get
(
"end_time"
)
+
" 23:59:59"
)
querydata
,
count
=
QueryAllData
(
db
,
AccountType
,
data
,
finance_filters
)
.
query_data
()
data
=
[
QueryAllData
.
serialization
(
item
)
for
item
in
querydata
]
return
data
,
count
app/api/account/schemas.py
View file @
0f9d5fa7
...
...
@@ -47,3 +47,11 @@ class FixTable(BaseModel):
money
:
float
amount_type
:
str
=
""
remark
:
str
class
AccountTypeList
(
BaseModel
):
page
:
int
=
None
size
:
int
=
None
key_name
:
str
=
""
key_value
:
str
=
""
type
:
int
=
None
app/api/account/views.py
View file @
0f9d5fa7
...
...
@@ -67,3 +67,10 @@ def finance_info_excel(data: schemas.FinanceDetails, db: Session = Depends(get_d
"""账户财务明细导出"""
statement_list
=
crud
.
get_finance_details
(
db
,
data
)
return
statement_crud
.
data_to_file
(
statement_list
,
"财务明细"
)
@
router
.
post
(
"/type"
)
def
finance_fix
(
data
:
schemas
.
AccountTypeList
,
db
:
Session
=
Depends
(
get_db
)):
"""出入账目配置列表"""
res
,
num
=
crud
.
get_account_type
(
db
,
data
.
dict
(
exclude_none
=
True
))
return
HttpResultResponse
(
total
=
num
,
data
=
res
)
app/api/margin/crud.py
View file @
0f9d5fa7
from
sqlalchemy.orm
import
Session
from
libs.functions
import
get_now_datetime
from
libs.orm
import
QueryAllData
from
models.margin
import
GuildMargin
from
models.guild
import
Guild
,
GuildPledgeRecord
from
models.margin
import
GuildMargin
def
get_margin
(
db
:
Session
,
param
):
...
...
@@ -17,3 +21,32 @@ def get_margin(db: Session, param):
querydata
,
count
=
QueryAllData
(
db
,
GuildMargin
,
param
,
guild_filters
)
.
query_data
()
data
=
[
QueryAllData
.
serialization
(
item
)
for
item
in
querydata
]
return
data
,
count
def
margin_dispose
(
db
:
Session
,
param
):
if
param
.
get
(
"examine_status"
)
==
-
1
:
db
.
query
(
GuildMargin
)
.
filter
(
GuildMargin
.
id
==
param
.
get
(
"id"
))
.
update
({
GuildMargin
.
status
:
5
})
db
.
commit
()
return
'拒绝成功'
# 查询公会
guid_info
=
db
.
query
(
Guild
)
.
filter
(
Guild
.
id
==
param
.
get
(
"guild_id"
))
.
first
()
if
not
guid_info
:
return
'公会不存在'
try
:
# 修改公会保证金记录 状态
db
.
query
(
GuildMargin
)
.
filter
(
GuildMargin
.
id
==
param
.
get
(
"id"
))
.
update
({
GuildMargin
.
status
:
4
})
db
.
commit
()
except
Exception
as
e
:
print
(
e
)
# 给公会添加保证金
db
.
query
(
Guild
)
.
filter
(
Guild
.
id
==
param
.
get
(
"guild_id"
))
.
update
({
Guild
.
margin
:
guid_info
.
margin
+
param
.
get
(
"amount"
)})
# 添加保证金添加记录
try
:
gpr
=
GuildPledgeRecord
(
guild_id
=
param
.
get
(
"guild_id"
),
before_pears
=
guid_info
.
margin
,
after_pears
=
guid_info
.
margin
+
param
.
get
(
"amount"
),
create_time
=
get_now_datetime
(),
update_time
=
get_now_datetime
(),
tixian_id
=
0
,
is_handle
=
1
,
pledge_pearl
=
0
,
margin
=
param
.
get
(
"amount"
))
db
.
add
(
gpr
)
db
.
commit
()
db
.
refresh
(
gpr
)
except
Exception
as
e
:
print
(
e
)
app/api/margin/schemas.py
View file @
0f9d5fa7
...
...
@@ -9,3 +9,10 @@ class GuildMarginList(BaseModel):
status
:
Optional
[
int
]
=
None
start_time
:
Optional
[
int
]
=
None
end_time
:
Optional
[
int
]
=
None
class
MarginExamine
(
BaseModel
):
id
:
int
guild_id
:
int
examine_status
:
int
amount
:
float
app/api/margin/views.py
View file @
0f9d5fa7
...
...
@@ -12,3 +12,10 @@ def guild_margin_list(data: schemas.GuildMarginList, db: Session = Depends(get_d
"""保证金列表"""
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
)):
"""保证金确认,拒绝"""
result
=
crud
.
margin_dispose
(
db
,
data
.
dict
(
exclude_none
=
True
))
return
HttpResultResponse
(
msg
=
result
)
libs/result_format.py
View file @
0f9d5fa7
...
...
@@ -27,7 +27,7 @@ class HttpResultResponse(Response):
def
__init__
(
self
,
code
=
None
,
msg
=
None
,
**
kwargs
):
result_dict
=
{
'code'
:
code
if
code
else
status
.
HTTP_200_OK
,
'msg'
:
msg
if
code
else
HttpMessage
.
SUCCESS
'msg'
:
msg
if
msg
else
HttpMessage
.
SUCCESS
}
result_dict
=
{
**
result_dict
,
**
kwargs
}
...
...
@@ -35,4 +35,4 @@ class HttpResultResponse(Response):
content
=
json
.
dumps
(
result_dict
,
cls
=
DecimalEncoder
),
media_type
=
"application/json"
,
status_code
=
result_dict
.
get
(
'code'
)
)
\ No newline at end of file
)
models/__init__.py
View file @
0f9d5fa7
from
core.storage.db
import
engine
from
models
import
users
,
roles
,
recharge
,
account
,
margin
from
models
import
users
,
roles
,
recharge
,
account
,
margin
,
guild
# 映射模型表
users
.
Base
.
metadata
.
create_all
(
bind
=
engine
)
...
...
@@ -7,3 +7,4 @@ roles.Base.metadata.create_all(bind=engine)
recharge
.
Base
.
metadata
.
create_all
(
bind
=
engine
)
account
.
Base
.
metadata
.
create_all
(
bind
=
engine
)
margin
.
Base
.
metadata
.
create_all
(
bind
=
engine
)
guild
.
Base
.
metadata
.
create_all
(
bind
=
engine
)
models/guild.py
View file @
0f9d5fa7
...
...
@@ -113,3 +113,20 @@ class Guild(Base, SerializerMixin):
operation_pwd
=
Column
(
String
(
255
),
default
=
0
,
comment
=
"操作密码"
)
__table_args__
=
{
'comment'
:
'公会表'
}
class
GuildPledgeRecord
(
Base
,
SerializerMixin
):
"""公会质押记录表"""
__tablename__
=
'guild_pledge_record'
id
=
Column
(
Integer
,
primary_key
=
True
,
index
=
True
)
guild_id
=
Column
(
Integer
,
default
=
0
,
comment
=
"公会id"
)
before_pears
=
Column
(
Float
,
comment
=
"变动前金额(元)"
)
after_pears
=
Column
(
Float
,
comment
=
"变动后金额(元)"
)
create_time
=
Column
(
DateTime
,
comment
=
"创建时间"
)
update_time
=
Column
(
DateTime
,
comment
=
"修改时间"
)
tixian_id
=
Column
(
Integer
,
comment
=
"提现id"
)
is_handle
=
Column
(
Integer
,
default
=
2
,
comment
=
"是否处理 2表示未处理 1为处理"
)
pledge_pearl
=
Column
(
Float
,
default
=
0.00
,
comment
=
"质押金(元)"
)
margin
=
Column
(
Float
,
default
=
0.00
,
comment
=
"保证金(元)"
)
__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