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
a43f40e3
Commit
a43f40e3
authored
Mar 20, 2023
by
xianyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
转账优化事务
parent
cb8ba775
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
2 deletions
+19
-2
guild.py
app/api/statement/guild.py
+19
-2
No files found.
app/api/statement/guild.py
View file @
a43f40e3
import
math
import
math
import
threading
import
threading
from
sqlalchemy
import
and_
,
func
from
sqlalchemy
import
and_
,
func
,
engine
from
sqlalchemy.orm
import
Session
from
sqlalchemy.orm
import
Session
from
libs.functions
import
get_now_timestamp
,
get_now_datetime
from
libs.functions
import
get_now_timestamp
,
get_now_datetime
...
@@ -159,6 +159,20 @@ def query_token(db, h_list):
...
@@ -159,6 +159,20 @@ def query_token(db, h_list):
return
user_info
return
user_info
def
transfer_trigger_task
(
db
,
data
):
"""转账验证"""
try
:
dst
=
db
.
query
(
Account
)
.
filter
(
Account
.
id
==
data
.
dst_id
)
.
first
()
# 转出
transfer
=
db
.
query
(
Account
)
.
filter
(
Account
.
id
==
data
.
transfer_id
)
.
first
()
# 转入
dst
.
consumable
=
float
(
dst
.
consumable
)
-
data
.
amount
transfer
.
consumable
=
float
(
transfer
.
consumable
)
+
data
.
amount
db
.
commit
()
except
Exception
as
e
:
db
.
rollback
()
return
False
return
True
def
transfer_money
(
db
:
Session
,
param
,
h_list
):
def
transfer_money
(
db
:
Session
,
param
,
h_list
):
"""转账"""
"""转账"""
user
=
query_token
(
db
,
h_list
)
user
=
query_token
(
db
,
h_list
)
...
@@ -183,7 +197,10 @@ def transfer_money(db: Session, param, h_list):
...
@@ -183,7 +197,10 @@ def transfer_money(db: Session, param, h_list):
dst_name
=
out
.
guild_name
if
out
else
""
dst_name
=
out
.
guild_name
if
out
else
""
income
=
db
.
query
(
Account
)
.
filter
(
Account
.
uuid
==
param
.
transfer_id
)
.
first
()
income
=
db
.
query
(
Account
)
.
filter
(
Account
.
uuid
==
param
.
transfer_id
)
.
first
()
transfer_name
=
income
.
name
if
income
else
""
transfer_name
=
income
.
name
if
income
else
""
# 转账
is_success
=
transfer_trigger_task
(
db
,
param
)
if
not
is_success
:
return
False
try
:
try
:
present
=
Fitransferlog
(
dst_id
=
param
.
dst_id
,
dst_name
=
dst_name
,
amount
=
param
.
amount
,
type
=
param
.
type
,
present
=
Fitransferlog
(
dst_id
=
param
.
dst_id
,
dst_name
=
dst_name
,
amount
=
param
.
amount
,
type
=
param
.
type
,
transfer_id
=
param
.
transfer_id
,
nick_name
=
param
.
nick_name
,
remark
=
param
.
remark
,
transfer_id
=
param
.
transfer_id
,
nick_name
=
param
.
nick_name
,
remark
=
param
.
remark
,
...
...
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