item_transaction.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package handler
  2. import (
  3. _ "encoding/json"
  4. "runtime/debug"
  5. "bet24.com/database"
  6. "bet24.com/log"
  7. dbengine "bet24.com/servers/micros/dbengine/proto"
  8. pb "bet24.com/servers/micros/item_inventory/proto"
  9. )
  10. // 获取系统道具数值列表
  11. func getSysItemList() map[int]*pb.Item {
  12. /*statement := database.NewStatement()
  13. statement.SetNeedReturnValue(false)
  14. statement.SetOpenRecordSet(true)
  15. statement.SetProcName("WS_Item_GetList")
  16. sqlstring := statement.GenSql()
  17. var items []pb.Item
  18. jsonData := dbengine.Execute(sqlstring)
  19. if err := json.Unmarshal([]byte(jsonData), &items); err != nil {
  20. log.Error("transaction.getSysItemList json unmarshal err %v", err)
  21. return nil
  22. }
  23. rowLen := len(items)
  24. ret := make(map[int]*pb.Item)
  25. for i := 0; i < rowLen; i++ {
  26. itm := items[i]
  27. ret[itm.Id] = &itm
  28. }
  29. return ret*/
  30. defer func() {
  31. if err := recover(); err != nil {
  32. log.Error("item.getSysItemList transaction recover err %v", err)
  33. log.Error("%s", debug.Stack())
  34. }
  35. }()
  36. statement := database.NewStatement()
  37. statement.SetNeedReturnValue(false)
  38. statement.SetOpenRecordSet(true)
  39. statement.SetProcName("WS_Item_GetList")
  40. sqlstring := statement.GenSql()
  41. log.Debug(sqlstring)
  42. retRows := dbengine.ExecuteRs(sqlstring)
  43. rowLen := len(retRows)
  44. items := make(map[int]*pb.Item)
  45. for i := 0; i < rowLen; i++ {
  46. ret := retRows[i]
  47. var out pb.Item
  48. out.Id = int((ret[0]).(int64))
  49. out.Name = (ret[1]).(string)
  50. out.Type = int((ret[2]).(int64))
  51. out.Desc = (ret[3]).(string)
  52. out.Start = int((ret[4]).(int64))
  53. out.Duration = int((ret[5]).(int64))
  54. out.ActiveId = int((ret[6]).(int64))
  55. out.Value = int((ret[7]).(int64))
  56. out.IsShow = int((ret[8]).(int64))
  57. out.IsGift = int((ret[9]).(int64))
  58. out.ShowPrice = int((ret[10]).(int64))
  59. out.IconUrl = ret[11].(string)
  60. out.DecorationType = int(ret[12].(int64))
  61. items[out.Id] = &out
  62. }
  63. return items
  64. }