transaction.go 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package matchdata
  2. import (
  3. "bet24.com/database"
  4. "bet24.com/log"
  5. dbengine "bet24.com/servers/micros/dbengine/proto"
  6. "encoding/json"
  7. "runtime/debug"
  8. )
  9. // 获取赛事列表
  10. func transGetMatchList(pageIndex, pageSize int, serialNumber, beginTime, endTime string) (int, []matchStatistics) {
  11. defer func() {
  12. if err := recover(); err != nil {
  13. log.Error("transaction recover err %v", err)
  14. log.Error("%s", debug.Stack())
  15. }
  16. }()
  17. var recordCount int
  18. statement := database.NewStatement()
  19. statement.SetNeedReturnValue(false)
  20. statement.SetOpenRecordSet(true)
  21. statement.SetProcName("Manage_MatchData_GetStatistics")
  22. statement.AddParamter("@SerialNumber", database.AdParamInput, database.AdVarChar, 32, serialNumber)
  23. statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
  24. statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
  25. statement.AddParamter("@PageIndex", database.AdParamInput, database.AdInteger, 4, pageIndex)
  26. statement.AddParamter("@PageSize", database.AdParamInput, database.AdInteger, 4, pageSize)
  27. statement.AddParamter("@RecordCount", database.AdParamOutput, database.AdInteger, 4, recordCount)
  28. sqlString := statement.GenSql()
  29. //log.Debug(sqlString)
  30. retRows := dbengine.ExecuteRs(sqlString)
  31. rowLen := len(retRows)
  32. var list []matchStatistics
  33. if rowLen <= 0 {
  34. return 0, list
  35. }
  36. if rowLen > 1 {
  37. for i := 0; i < rowLen-1; i++ {
  38. ret := retRows[i]
  39. var data matchStatistics
  40. data.SerialNumber = ret[0].(string)
  41. data.MatchName = ret[1].(string)
  42. data.EnrollFee = ret[2].(string)
  43. data.MaxUserCount = int(ret[3].(int64))
  44. data.TableUserCount = int(ret[4].(int64))
  45. data.JoinUserCount = int(ret[5].(int64))
  46. data.StartTime = ret[6].(string)
  47. data.EndTime = ret[7].(string)
  48. list = append(list, data)
  49. }
  50. }
  51. if list == nil {
  52. list = make([]matchStatistics, 0)
  53. }
  54. recordCount = int(retRows[rowLen-1][0].(int64))
  55. return recordCount, list
  56. }
  57. // 获取加入的名单
  58. func transGetJoinList(userID, isAward, pageIndex, pageSize int, serialNumber, beginTime, endTime string) (int, []joinList) {
  59. defer func() {
  60. if err := recover(); err != nil {
  61. log.Error("transaction recover err %v", err)
  62. log.Error("%s", debug.Stack())
  63. }
  64. }()
  65. var recordCount int
  66. statement := database.NewStatement()
  67. statement.SetNeedReturnValue(false)
  68. statement.SetOpenRecordSet(true)
  69. statement.SetProcName("Manage_MatchData_GetJoinList")
  70. statement.AddParamter("@SerialNumber", database.AdParamInput, database.AdVarChar, 32, serialNumber)
  71. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userID)
  72. statement.AddParamter("@IsAward", database.AdParamInput, database.AdInteger, 4, isAward)
  73. statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
  74. statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
  75. statement.AddParamter("@PageIndex", database.AdParamInput, database.AdInteger, 4, pageIndex)
  76. statement.AddParamter("@PageSize", database.AdParamInput, database.AdInteger, 4, pageSize)
  77. statement.AddParamter("@RecordCount", database.AdParamOutput, database.AdInteger, 4, recordCount)
  78. sqlString := statement.GenSql()
  79. //log.Debug(sqlString)
  80. retRows := dbengine.ExecuteRs(sqlString)
  81. rowLen := len(retRows)
  82. var list []joinList
  83. if rowLen <= 0 {
  84. return 0, list
  85. }
  86. if rowLen > 1 {
  87. for i := 0; i < rowLen-1; i++ {
  88. ret := retRows[i]
  89. var data joinList
  90. data.SerialNumber = ret[0].(string)
  91. data.Rank = int(ret[1].(int64))
  92. data.UserID = int(ret[2].(int64))
  93. data.Nickname = ret[3].(string)
  94. data.ItemID = int(ret[4].(int64))
  95. data.ItemCount = int(ret[5].(int64))
  96. data.MatchName = ret[6].(string)
  97. data.EnrollTime = ret[7].(string)
  98. data.Score = int(ret[8].(int64))
  99. data.Prize = ret[9].(string)
  100. data.RobotID = int(ret[10].(int64))
  101. list = append(list, data)
  102. }
  103. }
  104. if list == nil {
  105. list = make([]joinList, 0)
  106. }
  107. recordCount = int(retRows[rowLen-1][0].(int64))
  108. return recordCount, list
  109. }
  110. // 根据类型获取名单
  111. func transGetTypeList(serialNumber string) []typeList {
  112. defer func() {
  113. if err := recover(); err != nil {
  114. log.Error("transaction recover err %v", err)
  115. log.Error("%s", debug.Stack())
  116. }
  117. }()
  118. statement := database.NewStatement()
  119. statement.SetNeedReturnValue(false)
  120. statement.SetOpenRecordSet(true)
  121. statement.SetProcName("Manage_MatchData_GetTypeList")
  122. statement.AddParamter("@SerialNumber", database.AdParamInput, database.AdVarChar, 32, serialNumber)
  123. sqlString := statement.GenSql()
  124. //log.Debug(sqlString)
  125. jsonData := dbengine.Execute(sqlString)
  126. var list []typeList
  127. if err := json.Unmarshal([]byte(jsonData), &list); err != nil {
  128. log.Error("transaction.transGetJoinTotalFee json unmarshal serialNumber=%s err %v", serialNumber, err)
  129. }
  130. return list
  131. }
  132. // 获取加入的总费用
  133. func transGetJoinTotalFee(serialNumber string) []joinTotalFee {
  134. defer func() {
  135. if err := recover(); err != nil {
  136. log.Error("transaction recover err %v", err)
  137. log.Error("%s", debug.Stack())
  138. }
  139. }()
  140. statement := database.NewStatement()
  141. statement.SetNeedReturnValue(false)
  142. statement.SetOpenRecordSet(true)
  143. statement.SetProcName("Manage_MatchData_GetJoinTotalFee")
  144. statement.AddParamter("@SerialNumber", database.AdParamInput, database.AdVarChar, 32, serialNumber)
  145. sqlString := statement.GenSql()
  146. //log.Debug(sqlString)
  147. jsonData := dbengine.Execute(sqlString)
  148. var out []joinTotalFee
  149. if err := json.Unmarshal([]byte(jsonData), &out); err != nil {
  150. log.Error("transaction.transGetJoinTotalFee json unmarshal serialNumber=%s err %v", serialNumber, err)
  151. }
  152. return out
  153. }