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