From 3f17b23e6b71257bf389a000a7ca55a48c179027 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 27 Nov 2024 13:39:00 +0800 Subject: [PATCH] 1 --- server/wheelserver/api/v1/activity/activity.go | 10 ++++++++++ server/wheelserver/model/user.go | 13 +++++++++++++ 2 files changed, 23 insertions(+) diff --git a/server/wheelserver/api/v1/activity/activity.go b/server/wheelserver/api/v1/activity/activity.go index a64741b2..78c2bb47 100644 --- a/server/wheelserver/api/v1/activity/activity.go +++ b/server/wheelserver/api/v1/activity/activity.go @@ -54,6 +54,16 @@ func (this *ActivityApi) RollDice(c *gin.Context) { f5.RspErr(c, 500, "server internal error4") return } + if reqJson.ForwardPoint > 0 { + if user.SpecDice <= 0 { + f5.RspErr(c, 1, "spec dice not enough") + return + } + if err := user.DecSpecDice(1); err != nil { + f5.RspErr(c, 500, "server internal error5") + return + } + } if err := user.DecDice(1); err != nil { f5.RspErr(c, 500, "server internal error5") return diff --git a/server/wheelserver/model/user.go b/server/wheelserver/model/user.go index 787444a9..0c1f1574 100644 --- a/server/wheelserver/model/user.go +++ b/server/wheelserver/model/user.go @@ -90,6 +90,19 @@ func (this *User) AddSpecDice(num int32) error { return nil } +func (this *User) DecSpecDice(num int32) error { + if this.Score < int64(num) { + return errors.New("") + } + oldSpecDice := this.SpecDice + this.SpecDice -= num + if err := this.UpdateFields([]string{"spec_dice"}); err != nil { + this.SpecDice = oldSpecDice + return err + } + return nil +} + func (this *User) DecScore(num int32) error { if this.Score < int64(num) { return errors.New("")