guide.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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/param"
  7. mhayaLogger "github.com/mhaya/logger"
  8. )
  9. func (p *Controller) guide(c *mhayaGin.Context) {
  10. var pa param.GuideReq
  11. if err := c.BindJSON(&pa); err != nil {
  12. mhayaLogger.Warnf("if guide err {. params=%s", pa)
  13. code.RenderResult(c, code.Error)
  14. return
  15. }
  16. if pa.Close == 0 && pa.CloseReward == 0 {
  17. code.RenderResult(c, code.Error)
  18. return
  19. }
  20. token, err := p.Auth(c)
  21. if code.IsFail(err) {
  22. mhayaLogger.Warnf("if guide token err {. params=%s", c.GetHeader(constant.Token))
  23. code.RenderResult(c, code.AccountTokenValidateFail)
  24. return
  25. }
  26. ctl, ok := p.GetChildActor(token.PlayerID)
  27. if !ok {
  28. code.RenderResult(c, code.Error)
  29. return
  30. }
  31. resp := &param.GuideResp{}
  32. errCode := ctl.CallWait(token.TargetPath, "guide", &pa, resp)
  33. if code.IsFail(errCode) {
  34. mhayaLogger.Warnf("[guide] param = %v, errCode = %v", pa, errCode)
  35. code.RenderResult(c, errCode)
  36. return
  37. }
  38. code.RenderResult(c, code.OK, resp)
  39. }