level.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package controller
  2. import (
  3. mhayaGin "github.com/mhaya/components/gin"
  4. "github.com/mhaya/game/game_cluster/internal/code"
  5. "github.com/mhaya/game/game_cluster/internal/constant"
  6. "github.com/mhaya/game/game_cluster/internal/data"
  7. "github.com/mhaya/game/game_cluster/internal/mdb/models"
  8. "github.com/mhaya/game/game_cluster/internal/param"
  9. mhayaLogger "github.com/mhaya/logger"
  10. )
  11. func (p *Controller) getLevel(c *mhayaGin.Context) {
  12. token, err := p.Auth(c)
  13. if code.IsFail(err) {
  14. mhayaLogger.Warnf("if getLevel token err {. params=%s", c.GetHeader(constant.Token))
  15. code.RenderResult(c, code.AccountTokenValidateFail)
  16. return
  17. }
  18. rsp := &models.Player{}
  19. errCode := p.CallWait(token.TargetPath, "start", nil, rsp)
  20. if code.IsFail(errCode) {
  21. mhayaLogger.Warnf("[getLevel] token = %s, errCode = %v", token, errCode)
  22. code.RenderResult(c, errCode)
  23. return
  24. }
  25. var resp param.GetLevelResp
  26. resp.NowLevel = rsp.Level
  27. resp.NowInvite = rsp.Item[models.ItemInvite].CurNum
  28. resp.NowRoll = rsp.Item[models.ItemRoll].CurNum
  29. ret, ok := data.LevelConfig.Get(rsp.Level + 1)
  30. if ok {
  31. resp.NextLevel = rsp.Level + 1
  32. resp.NextRoll = ret.DiceNum
  33. resp.NextInvite = ret.Invite
  34. } else {
  35. resp.NextLevel = rsp.Level
  36. resp.NextInvite = rsp.Item[models.ItemInvite].CurNum
  37. resp.NextRoll = rsp.Item[models.ItemRoll].CurNum
  38. }
  39. code.RenderResult(c, code.OK, resp)
  40. }