transaction.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package prizepool
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. dbengine "bet24.com/servers/micros/dbengine/proto"
  7. )
  8. // 获取奖池信息
  9. func getInfo(roomName string) int {
  10. defer func() {
  11. if err := recover(); err != nil {
  12. log.Error("prizePool.getInfo transaction recover err %v", err)
  13. log.Error("%s", debug.Stack())
  14. }
  15. }()
  16. var pool int
  17. statement := database.NewStatement()
  18. statement.SetNeedReturnValue(false)
  19. statement.SetOpenRecordSet(true)
  20. statement.SetProcName("WS_PrizePool_GetInfo")
  21. statement.AddParamter("@RoomName", database.AdParamInput, database.AdVarChar, 32, roomName)
  22. statement.AddParamter("@Pool", database.AdParamOutput, database.AdInteger, 4, pool)
  23. sqlstring := statement.GenSql()
  24. retRows := dbengine.ExecuteRs(sqlstring)
  25. if len(retRows) <= 0 {
  26. return pool
  27. }
  28. if len(retRows[0]) <= 0 {
  29. return pool
  30. }
  31. if val, ok := retRows[0][0].(int64); ok {
  32. pool = int(val)
  33. }
  34. //pool = int((*retRows[0][0].(*interface{})).(int64))
  35. return pool
  36. }
  37. // 更新奖池
  38. func update(roomName string, pool int) {
  39. defer func() {
  40. if err := recover(); err != nil {
  41. log.Error("prizePool.update transaction recover err %v", err)
  42. log.Error("%s", debug.Stack())
  43. }
  44. }()
  45. statement := database.NewStatement()
  46. statement.SetNeedReturnValue(false)
  47. statement.SetOpenRecordSet(false)
  48. statement.SetProcName("WS_PrizePool_Update")
  49. statement.AddParamter("@RoomName", database.AdParamInput, database.AdVarChar, 32, roomName)
  50. statement.AddParamter("@Pool", database.AdParamInput, database.AdInteger, 4, pool)
  51. sqlstring := statement.GenSql()
  52. dbengine.Execute(sqlstring)
  53. }
  54. // 获取用户的奖池能量
  55. func getUserEnergy(userid int, roomName string) int {
  56. defer func() {
  57. if err := recover(); err != nil {
  58. log.Error("prizePool.getUserEnergy transaction recover err %v", err)
  59. log.Error("%s", debug.Stack())
  60. }
  61. }()
  62. statement := database.NewStatement()
  63. statement.SetNeedReturnValue(false)
  64. statement.SetOpenRecordSet(false)
  65. statement.SetProcName("WS_PrizePool_GetEnergy")
  66. statement.AddParamter("@UserId", database.AdParamInput, database.AdInteger, 4, userid)
  67. statement.AddParamter("@RoomName", database.AdParamInput, database.AdVarChar, 32, roomName)
  68. sqlstring := statement.GenSql()
  69. retRows := dbengine.ExecuteRs(sqlstring)
  70. if len(retRows) <= 0 {
  71. return 0
  72. }
  73. if len(retRows[0]) <= 0 {
  74. return 0
  75. }
  76. ret := 0
  77. if val, ok := retRows[0][0].(int64); ok {
  78. ret = int(val)
  79. }
  80. // ret := int((*retRows[0][0].(*interface{})).(int64))
  81. return ret
  82. }
  83. // 修改用户的奖池能量
  84. func setUserEnergy(userid int, roomName string, energy int) {
  85. defer func() {
  86. if err := recover(); err != nil {
  87. log.Error("prizePool.modifyUserEnergy transaction recover err %v", err)
  88. log.Error("%s", debug.Stack())
  89. }
  90. }()
  91. statement := database.NewStatement()
  92. statement.SetNeedReturnValue(false)
  93. statement.SetOpenRecordSet(false)
  94. statement.SetProcName("WS_PrizePool_ModifyEnergy")
  95. statement.AddParamter("@UserId", database.AdParamInput, database.AdInteger, 4, userid)
  96. statement.AddParamter("@RoomName", database.AdParamInput, database.AdVarChar, 32, roomName)
  97. statement.AddParamter("@Energy", database.AdParamInput, database.AdInteger, 4, energy)
  98. sqlstring := statement.GenSql()
  99. dbengine.ExecuteRs(sqlstring)
  100. }