claim.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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) claim(c *mhayaGin.Context) {
  10. mhayaLogger.Debugf("claim controller start => ")
  11. var pa param.ClaimReq
  12. if err := c.BindJSON(&pa); err != nil {
  13. mhayaLogger.Warnf("if claim err {. params=%s", pa)
  14. code.RenderResult(c, code.Error)
  15. return
  16. }
  17. if pa.Tp == 0 {
  18. code.RenderResult(c, code.Error)
  19. return
  20. }
  21. token, err := p.Auth(c)
  22. if code.IsFail(err) {
  23. mhayaLogger.Warnf("if claim token err {. params=%s", c.GetHeader(constant.Token))
  24. code.RenderResult(c, code.AccountTokenValidateFail)
  25. return
  26. }
  27. resp := &param.ChangeData{}
  28. ctl, ok := p.GetChildActor(token.PlayerID)
  29. if !ok {
  30. code.RenderResult(c, code.Error)
  31. return
  32. }
  33. errCode := ctl.CallWait(token.TargetPath, "claim", &pa, resp)
  34. if code.IsFail(errCode) {
  35. mhayaLogger.Warnf("[claim] param = %v, errCode = %v", pa, errCode)
  36. code.RenderResult(c, errCode)
  37. return
  38. }
  39. code.RenderResult(c, code.OK, resp)
  40. }