start.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package player
  2. import (
  3. "context"
  4. "fmt"
  5. mhayaTime "github.com/mhaya/extend/time"
  6. "github.com/mhaya/game/game_cluster/internal/code"
  7. "github.com/mhaya/game/game_cluster/internal/constant"
  8. "github.com/mhaya/game/game_cluster/internal/data"
  9. "github.com/mhaya/game/game_cluster/internal/mdb"
  10. "github.com/mhaya/game/game_cluster/internal/mdb/models"
  11. clog "github.com/mhaya/logger"
  12. )
  13. func (p *actorPlayer) start() (*models.HomeData, int32) {
  14. if !p.isOnline {
  15. return nil, code.PlayerNotLogin
  16. }
  17. p.dirty = true
  18. clog.Debugf("start() nickName:%s openId:%s ip:%s", p.Player.NickName, p.Player.OpenId, p.Player.LoginIP)
  19. if !mhayaTime.CreateFromTimestamp(p.Player.LoginTime).IsToday() {
  20. p.Player.Successions += 1
  21. if mhayaTime.CreateFromTimestamp(p.Player.LoginTime).DiffInDays(mhayaTime.Now()) > 1 {
  22. p.Player.MaxSuccessions = 1
  23. } else {
  24. p.Player.MaxSuccessions += 1
  25. }
  26. }
  27. // 币安等级
  28. curLv, _ := mdb.RDB.Get(context.Background(), constant.RocketLvKey).Int()
  29. rocketLv := models.RocketLvProgress{
  30. Max: 1000,
  31. Cur: curLv,
  32. }
  33. totalIcorme, _ := mdb.RDB.Get(context.Background(), constant.TotalIncomeKey).Int64()
  34. botConfig := data.SdkConfig.Get(2)
  35. var inviteStatus int
  36. exists := mdb.RDB.Exists(context.Background(), fmt.Sprintf("%v:1:%v", constant.InviteKey, p.Player.UserName)).Val()
  37. if exists == 0 {
  38. kol, _ := data.KolConfig.Get(p.Player.UserName)
  39. if kol != nil && kol.PptBoolean == 1 {
  40. inviteStatus = 1
  41. }
  42. }
  43. homeData := &models.HomeData{
  44. Item: p.Player.Item,
  45. FirstItem: p.Player.FirstClaimReward,
  46. RocketLv: rocketLv,
  47. Dirty: p.dirty,
  48. TotalIcorme: totalIcorme,
  49. ChatIDName: botConfig.Params.ChatIDName,
  50. BtUserName: botConfig.Params.BtUserName,
  51. Avatar: botConfig.Params.Avatar,
  52. QuickLink: botConfig.Params.QuickLink,
  53. InviteStatus: inviteStatus,
  54. }
  55. return homeData, code.OK
  56. }