From 28ccde1f34663cf98c1e038c806b61a0ac5c68c2 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 27 Mar 2023 09:53:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8B=BC=E5=9B=BE=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/user/api_puzzleaward.go | 27 ++++++++++++++++++++++++++- modules/user/api_sign.go | 1 + modules/user/model_sign.go | 7 ++++--- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/modules/user/api_puzzleaward.go b/modules/user/api_puzzleaward.go index 22637d85e..03a406e1a 100644 --- a/modules/user/api_puzzleaward.go +++ b/modules/user/api_puzzleaward.go @@ -15,6 +15,31 @@ func (this *apiComp) PuzzleAwardCheck(session comm.IUserSession, req *pb.UserPuz //拼图领奖 func (this *apiComp) PuzzleAward(session comm.IUserSession, req *pb.UserPuzzleAwardReq) (code pb.ErrorCode, data proto.Message) { - + var ( + sign *pb.DBSign + err error + ) + + if sign, err = this.module.modelSign.GetUserSign(session.GetUserId()); err != nil { + code = pb.ErrorCode_DBError + return + } + if sign.Puzzle[req.Index] != 0 { + code = pb.ErrorCode_ReqParameterError + return + } + if code = this.module.DispenseRes(session, this.module.globalConf.UnifiedReward, true); code != pb.ErrorCode_Success { + return + } + sign.Puzzle[req.Index] = 1 + if err = this.module.modelSign.Change(session.GetUserId(), map[string]interface{}{ + "puzzle": sign.Puzzle, + }); err != nil { + code = pb.ErrorCode_DBError + return + } + session.SendMsg(string(this.module.GetType()), "puzzleaward", &pb.UserPuzzleAwardResp{ + Index: req.Index, + }) return } diff --git a/modules/user/api_sign.go b/modules/user/api_sign.go index 3a99cd44a..a130eaf22 100644 --- a/modules/user/api_sign.go +++ b/modules/user/api_sign.go @@ -41,6 +41,7 @@ func (this *apiComp) Sign(session comm.IUserSession, req *pb.UserSignReq) (code update["rTime"] = sign.RTime update["signTime"] = sign.SignTime update["signCount"] = sign.SignCount + update["puzzle"] = make([]int32, 31) this.module.modelSign.Change(session.GetUserId(), update) bReward = true } else { diff --git a/modules/user/model_sign.go b/modules/user/model_sign.go index 96cd180af..92b0d0543 100644 --- a/modules/user/model_sign.go +++ b/modules/user/model_sign.go @@ -37,9 +37,10 @@ func (this *ModelSign) GetUserSign(uid string) (result *pb.DBSign, err error) { _data := this.module.configure.GetSignConf(1, 1) if _data != nil { result = &pb.DBSign{ - Id: primitive.NewObjectID().Hex(), - Uid: uid, - Group: _data.Group, + Id: primitive.NewObjectID().Hex(), + Uid: uid, + Group: _data.Group, + Puzzle: make([]int32, 31), } this.Add(uid, result) } else {