guide.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package controller
  2. import (
  3. mhayaGin "github.com/mhaya/components/gin"
  4. mhayaString "github.com/mhaya/extend/string"
  5. "github.com/mhaya/game/game_cluster/internal/code"
  6. "github.com/mhaya/game/game_cluster/internal/constant"
  7. "github.com/mhaya/game/game_cluster/internal/param"
  8. "github.com/mhaya/game/game_cluster/internal/third"
  9. mhayaLogger "github.com/mhaya/logger"
  10. )
  11. func (p *Controller) guide(c *mhayaGin.Context) {
  12. var pa param.GuideReq
  13. if err := c.BindJSON(&pa); err != nil {
  14. mhayaLogger.Warnf("if guide err {. params=%s", pa)
  15. code.RenderResult(c, code.Error)
  16. return
  17. }
  18. if pa.Close == 0 && pa.CloseReward == 0 {
  19. code.RenderResult(c, code.Error)
  20. return
  21. }
  22. token, err := p.Auth(c)
  23. if code.IsFail(err) {
  24. mhayaLogger.Warnf("if guide token err {. params=%s", c.GetHeader(constant.Token))
  25. code.RenderResult(c, code.AccountTokenValidateFail)
  26. return
  27. }
  28. if pa.CloseReward == 1 {
  29. openid, _ := mhayaString.ToInt64(token.OpenID)
  30. pa.Status = third.GetIfChannel(openid)
  31. }
  32. resp := &param.GuideResp{}
  33. errCode := p.CallWait(token.TargetPath, "guide", &pa, resp)
  34. if code.IsFail(errCode) {
  35. mhayaLogger.Warnf("[guide] param = %v, errCode = %v", pa, errCode)
  36. code.RenderResult(c, errCode)
  37. return
  38. }
  39. code.RenderResult(c, code.OK, resp)
  40. }