Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-common
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
hujiebin
hilo-common
Commits
3dc771e0
Commit
3dc771e0
authored
Aug 21, 2023
by
hujiebin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:去掉bft/aft,少了一次读操作。
parent
55cc1f2a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
20 deletions
+20
-20
diamond.go
txop/diamond_tx/diamond.go
+20
-20
No files found.
txop/diamond_tx/diamond.go
View file @
3dc771e0
...
...
@@ -123,34 +123,34 @@ func TxAddReduceDiamondAccount(model *domain.Model, userId mysql.ID, operateType
return
myerr
.
NewWaring
(
"gorm condition update.RowsAffected = 0"
)
}
// 写后读(写后缓存都会丢失,多读一次不影响)
newAccount
:=
new
(
diamond_m
.
DiamondAccount
)
if
err
:=
model
.
DB
()
.
Model
(
diamond_m
.
DiamondAccount
{})
.
Where
(
"id = ?"
,
diamondAccount
.
ID
)
.
First
(
newAccount
)
.
Error
;
err
!=
nil
{
model
.
Log
.
Errorf
(
"newAccount err:%v"
,
err
)
return
err
}
if
newAccount
.
DiamondNum
<
0
{
model
.
Log
.
Errorf
(
"newAccount 0"
)
return
myerr
.
NewSysError
(
"newAccount 0"
)
}
// 更新明细
befNum
:=
mysql
.
Num
(
0
)
if
diamondOperateSet
.
AddReduce
==
mysql
.
ADD
{
befNum
=
newAccount
.
DiamondNum
-
diamondNum
}
if
diamondOperateSet
.
AddReduce
==
mysql
.
REDUCE
{
befNum
=
newAccount
.
DiamondNum
+
diamondNum
}
//
newAccount := new(diamond_m.DiamondAccount)
//
if err := model.DB().Model(diamond_m.DiamondAccount{}).Where("id = ?", diamondAccount.ID).First(newAccount).Error; err != nil {
//
model.Log.Errorf("newAccount err:%v", err)
//
return err
//
}
//
if newAccount.DiamondNum < 0 {
//
model.Log.Errorf("newAccount 0")
//
return myerr.NewSysError("newAccount 0")
//
}
//
//
更新明细
//
befNum := mysql.Num(0)
//
if diamondOperateSet.AddReduce == mysql.ADD {
//
befNum = newAccount.DiamondNum - diamondNum
//
}
//
if diamondOperateSet.AddReduce == mysql.REDUCE {
//
befNum = newAccount.DiamondNum + diamondNum
//
}
if
err
:=
model
.
DB
()
.
Table
(
diamond_m
.
DiamondAccountDetail
{}
.
TableName
())
.
Create
(
&
diamond_m
.
DiamondAccountDetail
{
UserId
:
userId
,
DiamondAccountId
:
new
Account
.
ID
,
DiamondAccountId
:
diamond
Account
.
ID
,
OperateId
:
diamondOperateSet
.
ID
,
OperateType
:
operateType
,
OriginId
:
originId
,
AddReduce
:
diamondOperateSet
.
AddReduce
,
Num
:
diamondNum
,
Remark
:
diamondOperateSet
.
Name
,
BefNum
:
befNum
,
AftNum
:
newAccount
.
DiamondNum
,
BefNum
:
0
,
AftNum
:
0
,
})
.
Error
;
err
!=
nil
{
model
.
Log
.
Errorf
(
"add detail fail:%v"
,
err
)
return
err
...
...
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