diff --git a/modules/user/api_puzzleaward.go b/modules/user/api_puzzleaward.go index 56cedba75..b1b9742b4 100644 --- a/modules/user/api_puzzleaward.go +++ b/modules/user/api_puzzleaward.go @@ -14,8 +14,9 @@ func (this *apiComp) PuzzleAwardCheck(session comm.IUserSession, req *pb.UserPuz //拼图领奖 func (this *apiComp) PuzzleAward(session comm.IUserSession, req *pb.UserPuzzleAwardReq) (errdata *pb.ErrorData) { var ( - sign *pb.DBSign - err error + sign *pb.DBSign + err error + completeCount int32 ) if sign, err = this.module.modelSign.GetUserSign(session.GetUserId()); err != nil { @@ -41,6 +42,14 @@ func (this *apiComp) PuzzleAward(session comm.IUserSession, req *pb.UserPuzzleAw } sign.Puzzle[req.Index] = 1 + for _, v := range sign.Puzzle { + if v == 1 { + completeCount++ + } + } + if conf := this.module.configure.GetSignExtarConf(completeCount, sign.Group); conf != nil { + this.module.DispenseRes(session, conf.Extra, true) // 签到额外奖励 + } if err = this.module.modelSign.Change(session.GetUserId(), map[string]interface{}{ "puzzle": sign.Puzzle, }); err != nil {