invite.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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) invite(c *mhayaGin.Context) {
  10. var pa param.InviteReq
  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.ParentName == "" && (pa.Type < 2 || pa.Type > 3) {
  17. code.RenderResult(c, code.Error)
  18. return
  19. }
  20. token, err := p.Auth(c)
  21. if code.IsFail(err) {
  22. mhayaLogger.Warnf("if invite 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. errCode := ctl.CallWait(token.TargetPath, "invite", pa, nil)
  32. if code.IsFail(errCode) {
  33. mhayaLogger.Warnf("[invite] param = %v, errCode = %v", pa, errCode)
  34. code.RenderResult(c, errCode)
  35. return
  36. }
  37. code.RenderResult(c, code.OK)
  38. }