item.pb.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package proto
  2. import (
  3. "bet24.com/log"
  4. "bet24.com/servers/micros/common"
  5. "context"
  6. )
  7. type Request_GetItem struct {
  8. ItemId int
  9. }
  10. type Response_GetItem struct {
  11. Itm *Item
  12. }
  13. func GetItem(itemId int) *Item {
  14. xclient := getClient()
  15. //defer xclient.Close()
  16. args := &Request_GetItem{
  17. ItemId: itemId,
  18. }
  19. reply := &Response_GetItem{}
  20. err := xclient.Call(context.Background(), "GetItem", args, reply)
  21. if err != nil {
  22. log.Debug("item_invenroty failed to call: %v", err)
  23. common.GetClientPool().RemoveClient(ServiceName)
  24. return nil
  25. }
  26. return reply.Itm
  27. }
  28. type Response_GetItems struct {
  29. Itms map[int]*Item
  30. }
  31. func GetItems() map[int]*Item {
  32. xclient := getClient()
  33. //defer xclient.Close()
  34. args := &Request{}
  35. reply := &Response_GetItems{}
  36. err := xclient.Call(context.Background(), "GetItems", args, reply)
  37. if err != nil {
  38. log.Debug("item_invenroty failed to call: %v", err)
  39. common.GetClientPool().RemoveClient(ServiceName)
  40. return nil
  41. }
  42. return reply.Itms
  43. }
  44. type Request_GetItemValue struct {
  45. ItemId int
  46. Count int
  47. }
  48. type Response_GetItemValue struct {
  49. Value int
  50. }
  51. func GetItemValue(itemId int, count int) int {
  52. xclient := getClient()
  53. args := &Request_GetItemValue{
  54. ItemId: itemId,
  55. Count: count,
  56. }
  57. reply := &Response_GetItemValue{}
  58. err := xclient.Call(context.Background(), "GetItemValue", args, reply)
  59. if err != nil {
  60. log.Debug("item_invenroty failed to call: %v", err)
  61. common.GetClientPool().RemoveClient(ServiceName)
  62. return 0
  63. }
  64. return reply.Value
  65. }
  66. type Request_ItemPack struct {
  67. Items []ItemPack
  68. }
  69. func ChangeItemCountToDuracion(items []ItemPack) []ItemPack {
  70. xclient := getClient()
  71. args := &Request_ItemPack{
  72. Items: items,
  73. }
  74. reply := &Request_ItemPack{}
  75. err := xclient.Call(context.Background(), "ChangeItemCountToDuracion", args, reply)
  76. if err != nil {
  77. log.Debug("item_invenroty failed to call: %v", err)
  78. common.GetClientPool().RemoveClient(ServiceName)
  79. return items
  80. }
  81. return reply.Items
  82. }
  83. func GetItemEffect(itemId int) EffectInfo {
  84. itm := GetItem(itemId)
  85. if itm == nil {
  86. return EffectInfo{}
  87. }
  88. return itm.EffectInfo
  89. }