Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-group
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-group
Compare Revisions
master...feature/ondup
Source
feature/ondup
Select Git revision
...
Target
master
Select Git revision
Compare
Commits (3)
feature/ondup
· 823c1edd
hujiebin
authored
Jul 24, 2023
823c1edd
Update group_grade.go
· 7ae23437
hujiebin
authored
Jul 24, 2023
7ae23437
insert or update
· 9d77177e
hujiebin
authored
Jul 24, 2023
9d77177e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
10 deletions
+27
-10
group_grade.go
domain/model/groupPower_m/group_grade.go
+27
-10
No files found.
domain/model/groupPower_m/group_grade.go
View file @
9d77177e
...
...
@@ -82,17 +82,34 @@ func IncrGroupPowerExp(txModel *domain.Model, groupPowerId mysql.ID, exp mysql.N
return
err
}
// 增加家族经验-总
gpg
:=
&
GroupPowerGrade
{
GroupPowerId
:
groupPowerId
,
Exp
:
exp
,
Grade
:
0
,
ExpireAt
:
time
.
Time
{},
}
if
err
=
txModel
.
DB
()
.
Model
(
GroupPowerGrade
{})
.
Clauses
(
clause
.
OnConflict
{
Columns
:
[]
clause
.
Column
{{
Name
:
"group_power_id"
}},
DoUpdates
:
clause
.
Assignments
(
map
[
string
]
interface
{}{
"exp"
:
gorm
.
Expr
(
"exp + ?"
,
gpg
.
Exp
)})})
.
Create
(
gpg
)
.
Error
;
err
!=
nil
{
return
err
gpg
:=
new
(
GroupPowerGrade
)
// insert
if
err
:=
txModel
.
DB
()
.
Model
(
GroupPowerGrade
{})
.
Where
(
"group_power_id = ?"
,
groupPowerId
)
.
First
(
gpg
)
.
Error
;
err
!=
nil
{
if
err
!=
gorm
.
ErrRecordNotFound
{
return
err
}
// gorm.ErrRecordNotFound
gpg
=
&
GroupPowerGrade
{
GroupPowerId
:
groupPowerId
,
Exp
:
exp
,
Grade
:
0
,
ExpireAt
:
time
.
Time
{},
}
if
err
=
txModel
.
DB
()
.
Create
(
gpg
)
.
Error
;
err
!=
nil
{
return
err
}
}
else
{
// or update
if
err
:=
txModel
.
DB
()
.
Model
(
GroupPowerGrade
{})
.
Where
(
"group_power_id = ?"
,
groupPowerId
)
.
UpdateColumn
(
"exp"
,
gorm
.
Expr
(
"exp + ?"
,
exp
))
.
Error
;
err
!=
nil
{
return
err
}
}
//if err = txModel.DB().Model(GroupPowerGrade{}).Clauses(clause.OnConflict{Columns: []clause.Column{{Name: "group_power_id"}},
// DoUpdates: clause.Assignments(map[string]interface{}{
// "exp": gorm.Expr("exp + ?", gpg.Exp)})}).Create(gpg).Error; err != nil {
// return err
//}
// 当前写后读
latestGrade
:=
new
(
GroupPowerGrade
)
if
err
=
txModel
.
DB
()
.
Model
(
GroupPowerGrade
{})
.
Where
(
"group_power_id = ?"
,
groupPowerId
)
.
First
(
latestGrade
)
.
Error
;
err
!=
nil
{
...
...