newusergift.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package newusergift
  2. import (
  3. "encoding/json"
  4. "bet24.com/log"
  5. item "bet24.com/servers/micros/item_inventory/proto"
  6. )
  7. const (
  8. Invalid = iota // 0=不可领
  9. Received // 1=已领取
  10. Receiving // 2=当前可领取
  11. Overdue // 3=过期
  12. )
  13. type GiftConfig struct {
  14. DayIndex int
  15. Items []item.ItemPack
  16. }
  17. type UserGift struct {
  18. GiftConfig
  19. Status int
  20. }
  21. var mgr *NewusergiftManager
  22. func Run() {
  23. log.Debug("newusergift running")
  24. mgr = newNewusergiftManager()
  25. }
  26. func GetNewUserGiftInfo(userId int) string {
  27. ret := mgr.getUserGiftInfo(userId, false)
  28. if len(ret) == 0 {
  29. return ""
  30. }
  31. d, _ := json.Marshal(ret)
  32. return string(d)
  33. }
  34. func ReceiveNewUserGift(userId, isDouble int) string {
  35. retCode, items := mgr.receiveGift(userId, isDouble, false)
  36. d, _ := json.Marshal(struct {
  37. RetCode int
  38. Items []item.ItemPack
  39. }{
  40. RetCode: retCode,
  41. Items: items,
  42. })
  43. return string(d)
  44. }
  45. func GetNewYearGiftInfo(userId int) string {
  46. ret := mgr.getUserGiftInfo(userId, true)
  47. if len(ret) == 0 {
  48. return ""
  49. }
  50. d, _ := json.Marshal(ret)
  51. return string(d)
  52. }
  53. func ReceiveNewYearGift(userId int, isDouble int) string {
  54. retCode, items := mgr.receiveGift(userId, isDouble, true)
  55. d, _ := json.Marshal(struct {
  56. RetCode int
  57. Items []item.ItemPack
  58. }{
  59. RetCode: retCode,
  60. Items: items,
  61. })
  62. return string(d)
  63. }