user_inventory.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package gatesink
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "bet24.com/log"
  6. "bet24.com/servers/fishhall/protocol"
  7. inventory "bet24.com/servers/micros/item_inventory/proto"
  8. item "bet24.com/servers/micros/item_inventory/proto"
  9. userservices "bet24.com/servers/micros/userservices/proto"
  10. )
  11. func (this *user) getSysItems(msg, data string) {
  12. items := item.GetItems()
  13. retData := ""
  14. if len(items) > 0 {
  15. d, _ := json.Marshal(items)
  16. retData = string(d)
  17. }
  18. this.WriteMsg(msg, retData)
  19. }
  20. func (this *user) getUserItems(msg, data string) {
  21. items := inventory.GetUserItems(this.getUserId())
  22. retData := ""
  23. if len(items) > 0 {
  24. d, _ := json.Marshal(items)
  25. retData = string(d)
  26. }
  27. this.WriteMsg(msg, retData)
  28. }
  29. func (this *user) consumeItem(msg, data string) {
  30. var req protocol.InventoryCosume_req
  31. var resp protocol.InventoryCosume_resp
  32. err := json.Unmarshal([]byte(data), &req)
  33. if err != nil {
  34. resp.ErrMsg = fmt.Sprintf("consumeItem Unmarshal data failed %v", data)
  35. log.Release(resp.ErrMsg)
  36. d, _ := json.Marshal(resp)
  37. this.WriteMsg(msg, string(d))
  38. return
  39. }
  40. resp.ItemId = req.ItemId
  41. resp.Succeeded, resp.ErrMsg = inventory.Consume(this.getUserId(), req.ItemId, 0, req.Count, 0)
  42. if !resp.Succeeded {
  43. log.Debug("inventory.Consume failed %v", resp)
  44. }
  45. d, _ := json.Marshal(resp)
  46. this.WriteMsg(msg, string(d))
  47. }
  48. func (this *user) sellItem(msg, data string) {
  49. var req protocol.InventoryCosume_req
  50. var resp protocol.InventoryCosume_resp
  51. err := json.Unmarshal([]byte(data), &req)
  52. if err != nil {
  53. resp.ErrMsg = fmt.Sprintf("sellItem Unmarshal data failed %v", data)
  54. log.Release(resp.ErrMsg)
  55. d, _ := json.Marshal(resp)
  56. this.WriteMsg(msg, string(d))
  57. return
  58. }
  59. resp.ItemId = req.ItemId
  60. resp.Succeeded, resp.ErrMsg = inventory.Sell(this.getUserId(), req.ItemId, req.Count, 0)
  61. if !resp.Succeeded {
  62. log.Debug("inventory.sellItem failed %v", resp)
  63. }
  64. d, _ := json.Marshal(resp)
  65. this.WriteMsg(msg, string(d))
  66. }
  67. func (this *user) giftItems(msg, data string) {
  68. var req inventory.Request_Gift
  69. err := json.Unmarshal([]byte(data), &req)
  70. if err != nil {
  71. retData := fmt.Sprintf("giftItems Unmarshal data failed %v", data)
  72. log.Release(retData)
  73. this.WriteMsg(msg, retData)
  74. return
  75. }
  76. var resp struct {
  77. RetCode int
  78. Data string
  79. }
  80. var ok bool
  81. ok, resp.Data = inventory.Gift(this.getUserId(), req.ToUserId, req.ItemId, req.Count)
  82. if !ok {
  83. log.Debug("inventory.giftItems failed %v", resp)
  84. } else {
  85. resp.RetCode = 1
  86. }
  87. d, _ := json.Marshal(resp)
  88. this.WriteMsg(msg, string(d))
  89. }
  90. func (this *user) getUserDecorations(msg, data string) {
  91. usr := userservices.GetUserInfo(this.getUserId())
  92. if usr == nil {
  93. log.Release("user.getUserDecorations fail to query user info")
  94. this.WriteMsg(msg, "user not found")
  95. return
  96. }
  97. d, _ := json.Marshal(usr.Decorations)
  98. this.WriteMsg(msg, string(d))
  99. }
  100. func (this *user) setUserDecoration(msg, data string) {
  101. usr := userservices.GetUserInfo(this.getUserId())
  102. if usr == nil {
  103. log.Release("user.setUserDecoration fail to query user info")
  104. this.WriteMsg(msg, "user not found")
  105. return
  106. }
  107. var req userservices.UserDecoration
  108. err := json.Unmarshal([]byte(data), &req)
  109. if err != nil {
  110. retData := fmt.Sprintf("setUserDecoration Unmarshal data failed %v", data)
  111. log.Release(retData)
  112. this.WriteMsg(msg, retData)
  113. return
  114. }
  115. userservices.SetUserDecoration(this.getUserId(), req.Type, req.ItemId)
  116. this.WriteMsg(msg, "ok")
  117. }
  118. func (this *user) getGiftCardHistory(msg, data string) {
  119. this.WriteMsg(msg, inventory.GetGiftCardHistory(this.getUserId()))
  120. }