|
@@ -2,7 +2,6 @@ package controller
|
|
|
|
|
|
import (
|
|
import (
|
|
"fmt"
|
|
"fmt"
|
|
- "ktogame/dbUtil"
|
|
|
|
"ktogame/models"
|
|
"ktogame/models"
|
|
"strings"
|
|
"strings"
|
|
|
|
|
|
@@ -11,7 +10,7 @@ import (
|
|
"github.com/go-xorm/xorm"
|
|
"github.com/go-xorm/xorm"
|
|
)
|
|
)
|
|
|
|
|
|
-func UpdateSuperiorsPerformance(engine *xorm.Engine, superiorsStr string, amount float64) error {
|
|
|
|
|
|
+func UpdateSuperiorsPerformance(engine *xorm.Session, superiorsStr string, amount float64) error {
|
|
logs.Info("into UpdateSuperiorsPerformance:", superiorsStr, amount)
|
|
logs.Info("into UpdateSuperiorsPerformance:", superiorsStr, amount)
|
|
ids := strings.Split(superiorsStr, ",")
|
|
ids := strings.Split(superiorsStr, ",")
|
|
if len(ids) <= 0 {
|
|
if len(ids) <= 0 {
|
|
@@ -36,14 +35,14 @@ func UpdateSuperiorsPerformance(engine *xorm.Engine, superiorsStr string, amount
|
|
}
|
|
}
|
|
|
|
|
|
var rp models.RewardsPool
|
|
var rp models.RewardsPool
|
|
- _, err := engine.Id(1).Get(&rp)
|
|
|
|
|
|
+ _, err := engine.ID(1).Get(&rp)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
for _, super := range supers {
|
|
for _, super := range supers {
|
|
var per models.Performance
|
|
var per models.Performance
|
|
- ok, err := engine.Id(super.Addr).Get(&per)
|
|
|
|
|
|
+ ok, err := engine.ID(super.Addr).Get(&per)
|
|
if err != nil {
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
fmt.Println(err)
|
|
continue
|
|
continue
|
|
@@ -56,7 +55,7 @@ func UpdateSuperiorsPerformance(engine *xorm.Engine, superiorsStr string, amount
|
|
per.TotalPerformance += amount
|
|
per.TotalPerformance += amount
|
|
if per.TotalPerformance >= float64(CommunityMarket) {
|
|
if per.TotalPerformance >= float64(CommunityMarket) {
|
|
var super models.Performance
|
|
var super models.Performance
|
|
- ok, err := engine.Id(per.Addr).Get(&super)
|
|
|
|
|
|
+ ok, err := engine.ID(per.Addr).Get(&super)
|
|
if err != nil {
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
fmt.Println(err)
|
|
continue
|
|
continue
|
|
@@ -94,7 +93,7 @@ func UpdateSuperiorsPerformance(engine *xorm.Engine, superiorsStr string, amount
|
|
//update available
|
|
//update available
|
|
logs.Debug("Performance check=====2,", per.Addr, level, amount, ratio, rewards)
|
|
logs.Debug("Performance check=====2,", per.Addr, level, amount, ratio, rewards)
|
|
|
|
|
|
- err := UpdateAvailableRewards(rewards, super.Addr, false, false)
|
|
|
|
|
|
+ err := UpdateAvailableRewards(engine, rewards, super.Addr, false, false)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -113,14 +112,14 @@ func UpdateSuperiorsPerformance(engine *xorm.Engine, superiorsStr string, amount
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
- logs.Info("into UpdateSuperiorsPerformance end:", rp)
|
|
|
|
|
|
+ logs.Info("UpdateSuperiorsPerformance end:", rp)
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
-func UpdateRewardsPool(engine *xorm.Engine, amount float64) error {
|
|
|
|
|
|
+func UpdateRewardsPool(engine *xorm.Session, amount float64) error {
|
|
logs.Info("into UpdateRewardsPool:", amount)
|
|
logs.Info("into UpdateRewardsPool:", amount)
|
|
var rp models.RewardsPool
|
|
var rp models.RewardsPool
|
|
- _, err := dbUtil.Engine.Id(1).Get(&rp)
|
|
|
|
|
|
+ _, err := engine.ID(1).Get(&rp)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -136,12 +135,15 @@ func UpdateRewardsPool(engine *xorm.Engine, amount float64) error {
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
-func UpdateAvailableRewards(rewards float64, uaddr string, join, isdirect bool) error {
|
|
|
|
|
|
+func UpdateAvailableRewards(engine *xorm.Session, rewards float64, uaddr string, join, isdirect bool) error {
|
|
|
|
+ if rewards <= 0 {
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
logs.Info("into UpdateAvailableRewards:", rewards, uaddr, join, isdirect)
|
|
logs.Info("into UpdateAvailableRewards:", rewards, uaddr, join, isdirect)
|
|
a_rewards := rewards * 60 / 100
|
|
a_rewards := rewards * 60 / 100
|
|
a_reinput := rewards * 40 / 100
|
|
a_reinput := rewards * 40 / 100
|
|
var user models.UserInfo
|
|
var user models.UserInfo
|
|
- ok, err := dbUtil.Engine.Id(uaddr).Get(&user)
|
|
|
|
|
|
+ ok, err := engine.ID(uaddr).Get(&user)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -156,7 +158,7 @@ func UpdateAvailableRewards(rewards float64, uaddr string, join, isdirect bool)
|
|
user.DirectNumber += 1
|
|
user.DirectNumber += 1
|
|
user.DirectRewards += rewards
|
|
user.DirectRewards += rewards
|
|
logs.Info("check direct info=====:", rewards, a_rewards, a_reinput, user.AvailableClaim, user.AvailableReinput, user.DirectNumber, user.DirectRewards)
|
|
logs.Info("check direct info=====:", rewards, a_rewards, a_reinput, user.AvailableClaim, user.AvailableReinput, user.DirectNumber, user.DirectRewards)
|
|
- _, err := dbUtil.Engine.ID(user.Addr).Cols("available_claim,available_reinput,direct_number,direct_rewards").Update(&user)
|
|
|
|
|
|
+ _, err := engine.ID(user.Addr).Cols("available_claim,available_reinput,direct_number,direct_rewards").Update(&user)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -164,26 +166,26 @@ func UpdateAvailableRewards(rewards float64, uaddr string, join, isdirect bool)
|
|
user.IndirectNumber += 1
|
|
user.IndirectNumber += 1
|
|
user.IndirectRewards += rewards
|
|
user.IndirectRewards += rewards
|
|
logs.Info("check indirect info=====:", rewards, a_rewards, a_reinput, user.AvailableClaim, user.AvailableReinput, user.DirectNumber, user.DirectRewards)
|
|
logs.Info("check indirect info=====:", rewards, a_rewards, a_reinput, user.AvailableClaim, user.AvailableReinput, user.DirectNumber, user.DirectRewards)
|
|
- _, err := dbUtil.Engine.ID(user.Addr).Cols("available_claim,available_reinput,indirect_number,indirect_rewards").Update(&user)
|
|
|
|
|
|
+ _, err := engine.ID(user.Addr).Cols("available_claim,available_reinput,indirect_number,indirect_rewards").Update(&user)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
logs.Info("check else info=====:", user.AvailableClaim, user.AvailableReinput)
|
|
logs.Info("check else info=====:", user.AvailableClaim, user.AvailableReinput)
|
|
- _, err := dbUtil.Engine.ID(user.Addr).Cols("available_claim,available_reinput").Update(&user)
|
|
|
|
|
|
+ _, err := engine.ID(user.Addr).Cols("available_claim,available_reinput").Update(&user)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- logs.Info("into UpdateAvailableRewards end:", user)
|
|
|
|
|
|
+ logs.Info("UpdateAvailableRewards end:", user)
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
-func UpdateCommunityGift(engine *xorm.Engine, amount float64, uaddr string) error {
|
|
|
|
|
|
+func UpdateCommunityGift(engine *xorm.Session, amount float64, uaddr string) error {
|
|
logs.Info("into UpdateCommunityGift:", amount, uaddr)
|
|
logs.Info("into UpdateCommunityGift:", amount, uaddr)
|
|
- var user, tmpUser models.UserInfo
|
|
|
|
- ok, err := engine.Id(uaddr).Get(&user)
|
|
|
|
|
|
+ var user models.UserInfo
|
|
|
|
+ ok, err := engine.ID(uaddr).Get(&user)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -191,51 +193,183 @@ func UpdateCommunityGift(engine *xorm.Engine, amount float64, uaddr string) erro
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
- ok, err = engine.Desc("id").Get(&tmpUser)
|
|
|
|
|
|
+ //front 10
|
|
|
|
+ var leftNum int64
|
|
|
|
+ if user.Id > 10 {
|
|
|
|
+ leftNum = 10
|
|
|
|
+ } else {
|
|
|
|
+ leftNum = user.Id - 1
|
|
|
|
+ }
|
|
|
|
+ rewards := amount * (float64(leftNum) / 100)
|
|
|
|
+
|
|
|
|
+ err = UpdateGift(engine, user.Addr, rewards)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
- if !ok {
|
|
|
|
- logs.Info("%v not exist!", uaddr)
|
|
|
|
- return nil
|
|
|
|
- }
|
|
|
|
|
|
|
|
- var leftNum, rightNum int64
|
|
|
|
- if user.Id >= 26 {
|
|
|
|
- leftNum = 25
|
|
|
|
|
|
+ //back 10
|
|
|
|
+ var fronts []models.UserInfo
|
|
|
|
+ if user.Id > 10 {
|
|
|
|
+ err := engine.Where("id >= ? and id < ?", user.Id-10, user.Id).Find(&fronts)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
- leftNum = user.Id - 1
|
|
|
|
|
|
+ err := engine.Where("id >= ? and id < ?", 1, user.Id).Find(&fronts)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if tmpUser.Id-user.Id >= 25 {
|
|
|
|
- rightNum = 25
|
|
|
|
- } else {
|
|
|
|
- rightNum = tmpUser.Id - user.Id
|
|
|
|
|
|
+ if len(fronts) > 0 {
|
|
|
|
+ backrewards := amount / 100
|
|
|
|
+ for _, u := range fronts {
|
|
|
|
+ err = UpdateGift(engine, u.Addr, backrewards)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- rewards := amount * (float64(leftNum+rightNum) / 100)
|
|
|
|
- err = UpdateAvailableRewards(rewards, user.Addr, false, false)
|
|
|
|
- if err != nil {
|
|
|
|
- return err
|
|
|
|
|
|
+ //inviter front 10-25%
|
|
|
|
+ if user.Direct != "" {
|
|
|
|
+ var inviter models.UserInfo
|
|
|
|
+ ok, err := engine.ID(user.Direct).Get(&inviter)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ if !ok {
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
|
|
+ var frontNum int64
|
|
|
|
+ if inviter.DirectNumber == 1 {
|
|
|
|
+ //front 10 - 15
|
|
|
|
+ if inviter.Id <= 10 {
|
|
|
|
+ frontNum = 0
|
|
|
|
+ }
|
|
|
|
+ if inviter.Id > 10 && inviter.Id <= 15 {
|
|
|
|
+ frontNum = inviter.Id - 10
|
|
|
|
+ }
|
|
|
|
+ if inviter.Id > 15 {
|
|
|
|
+ frontNum = 5
|
|
|
|
+ }
|
|
|
|
+ } else if inviter.DirectNumber == 2 {
|
|
|
|
+ //front 16 - 20
|
|
|
|
+ if inviter.Id <= 15 {
|
|
|
|
+ frontNum = 0
|
|
|
|
+ }
|
|
|
|
+ if inviter.Id > 15 && inviter.Id <= 20 {
|
|
|
|
+ frontNum = inviter.Id - 15
|
|
|
|
+ }
|
|
|
|
+ if inviter.Id > 20 {
|
|
|
|
+ frontNum = 5
|
|
|
|
+ }
|
|
|
|
+ } else if inviter.DirectNumber == 3 {
|
|
|
|
+ //front 21 - 25
|
|
|
|
+ if inviter.Id <= 20 {
|
|
|
|
+ frontNum = 0
|
|
|
|
+ }
|
|
|
|
+ if inviter.Id > 20 && inviter.Id <= 25 {
|
|
|
|
+ frontNum = inviter.Id - 20
|
|
|
|
+ }
|
|
|
|
+ if inviter.Id > 25 {
|
|
|
|
+ frontNum = 5
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ frontNum = 0
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ frontrewards := amount * (float64(frontNum / 100))
|
|
|
|
+ err = UpdateGift(engine, inviter.Addr, frontrewards)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- var per models.Performance
|
|
|
|
- ok, err = engine.Id(uaddr).Get(&per)
|
|
|
|
|
|
+ //back 10-25%,DirectNumber 1,2,3===============
|
|
|
|
+ var frontUsers []models.UserInfo
|
|
|
|
+ err = engine.Where("back_users like ?", "%,"+fmt.Sprint(user.Id)+"%").Find(&frontUsers)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
- if !ok {
|
|
|
|
- return nil
|
|
|
|
|
|
+ for _, fu := range frontUsers {
|
|
|
|
+ var num int64 = 0
|
|
|
|
+ if fu.DirectNumber == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ if fu.DirectNumber >= 1 {
|
|
|
|
+ if fu.BackNum < 5 {
|
|
|
|
+ num = user.Id - (fu.Id + 10) - fu.BackNum
|
|
|
|
+ fu.BackNum += num
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if fu.DirectNumber >= 2 {
|
|
|
|
+ if fu.BackNum >= 5 && fu.BackNum < 10 {
|
|
|
|
+ num += user.Id - (fu.Id + 10) - fu.BackNum
|
|
|
|
+ fu.BackNum += num
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if fu.DirectNumber >= 3 {
|
|
|
|
+ if fu.BackNum >= 10 && fu.BackNum < 15 {
|
|
|
|
+ num += user.Id - (fu.Id + 10) - fu.BackNum
|
|
|
|
+ fu.BackNum += num
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ _, err = engine.ID(user).Cols("back_num").Update(&fu)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ invitrewards := amount * (float64(num / 100))
|
|
|
|
+ err = UpdateGift(engine, fu.Addr, invitrewards)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- per.CommunityGift += rewards
|
|
|
|
- _, err = engine.ID(uaddr).Cols("community_gift").Update(&per)
|
|
|
|
- if err != nil {
|
|
|
|
- return err
|
|
|
|
|
|
+ //back >25, DirectNumber 1,2,3
|
|
|
|
+ if user.Direct != "" {
|
|
|
|
+ var inviter models.UserInfo
|
|
|
|
+ ok, err := engine.ID(user.Direct).Get(&inviter)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ if !ok {
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
|
|
+ var backNum int64 = 0
|
|
|
|
+ if user.Id > inviter.Id+25 && inviter.BackNum < 15 {
|
|
|
|
+ if inviter.DirectNumber >= 1 {
|
|
|
|
+ if inviter.BackNum < 5 {
|
|
|
|
+ backNum += 5 - inviter.BackNum
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if inviter.DirectNumber >= 2 {
|
|
|
|
+ if inviter.BackNum >= 5 && inviter.BackNum < 10 {
|
|
|
|
+ backNum += 10 - inviter.BackNum - backNum
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if inviter.DirectNumber >= 3 {
|
|
|
|
+ if inviter.BackNum >= 10 && inviter.BackNum < 15 {
|
|
|
|
+ backNum += 15 - inviter.BackNum - backNum
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ inviter.BackNum += backNum
|
|
|
|
+
|
|
|
|
+ _, err = engine.ID(user).Cols("back_num").Update(&inviter)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ rewards := amount * (float64(backNum / 100))
|
|
|
|
+ err = UpdateGift(engine, inviter.Addr, rewards)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- logs.Info("into UpdateCommunityGift end:", amount, uaddr)
|
|
|
|
|
|
+
|
|
|
|
+ logs.Info("UpdateCommunityGift end:", amount, uaddr)
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
-func UpdateCommunityNodes(engine *xorm.Engine, amount float64) error {
|
|
|
|
|
|
+func UpdateCommunityNodes(engine *xorm.Session, amount float64) error {
|
|
logs.Info("into UpdateCommunityNodes:", amount)
|
|
logs.Info("into UpdateCommunityNodes:", amount)
|
|
var nodes []models.UserInfo
|
|
var nodes []models.UserInfo
|
|
err := engine.Where("state = ?", CommunityUsers).Find(&nodes)
|
|
err := engine.Where("state = ?", CommunityUsers).Find(&nodes)
|
|
@@ -247,14 +381,14 @@ func UpdateCommunityNodes(engine *xorm.Engine, amount float64) error {
|
|
}
|
|
}
|
|
rewards := (amount * 5 / 100) / float64(len(nodes))
|
|
rewards := (amount * 5 / 100) / float64(len(nodes))
|
|
for _, node := range nodes {
|
|
for _, node := range nodes {
|
|
- err = UpdateAvailableRewards(rewards, node.Addr, false, false)
|
|
|
|
|
|
+ err = UpdateAvailableRewards(engine, rewards, node.Addr, false, false)
|
|
if err != nil {
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
fmt.Println(err)
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
|
|
var per models.Performance
|
|
var per models.Performance
|
|
- _, err = engine.Id(node.Addr).Get(&per)
|
|
|
|
|
|
+ _, err = engine.ID(node.Addr).Get(&per)
|
|
if err != nil {
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
fmt.Println(err)
|
|
continue
|
|
continue
|
|
@@ -267,11 +401,11 @@ func UpdateCommunityNodes(engine *xorm.Engine, amount float64) error {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- logs.Info("into UpdateCommunityNodes end:", amount)
|
|
|
|
|
|
+ logs.Info("UpdateCommunityNodes end:", amount)
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|
|
-func UpdateMarket(engine *xorm.Engine, amount float64) error {
|
|
|
|
|
|
+func UpdateMarket(engine *xorm.Session, amount float64) error {
|
|
logs.Info("into UpdateMarket:", amount)
|
|
logs.Info("into UpdateMarket:", amount)
|
|
var pers []models.Performance
|
|
var pers []models.Performance
|
|
err := engine.Where("market_num >= ?", 2).Find(&pers)
|
|
err := engine.Where("market_num >= ?", 2).Find(&pers)
|
|
@@ -279,7 +413,7 @@ func UpdateMarket(engine *xorm.Engine, amount float64) error {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
var rp models.RewardsPool
|
|
var rp models.RewardsPool
|
|
- ok, err := engine.Id(1).Get(&rp)
|
|
|
|
|
|
+ ok, err := engine.ID(1).Get(&rp)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -308,7 +442,7 @@ func UpdateMarket(engine *xorm.Engine, amount float64) error {
|
|
//update available
|
|
//update available
|
|
logs.Debug(" UpdateMarket=====2,", per.Addr, rewards)
|
|
logs.Debug(" UpdateMarket=====2,", per.Addr, rewards)
|
|
|
|
|
|
- err := UpdateAvailableRewards(rewards, per.Addr, false, false)
|
|
|
|
|
|
+ err := UpdateAvailableRewards(engine, rewards, per.Addr, false, false)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
@@ -326,6 +460,31 @@ func UpdateMarket(engine *xorm.Engine, amount float64) error {
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
- logs.Info("into UpdateMarket end:", amount)
|
|
|
|
|
|
+ logs.Info("UpdateMarket end:", amount)
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func UpdateGift(engine *xorm.Session, user string, rewards float64) error {
|
|
|
|
+ if rewards <= 0 {
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
|
|
+ err := UpdateAvailableRewards(engine, rewards, user, false, false)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var per models.Performance
|
|
|
|
+ ok, err := engine.ID(user).Get(&per)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ if !ok {
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
|
|
+ per.CommunityGift += rewards
|
|
|
|
+ _, err = engine.ID(user).Cols("community_gift").Update(&per)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|