transaction.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. package game
  2. import (
  3. "runtime/debug"
  4. "strconv"
  5. "bet24.com/servers/adminserver/dao"
  6. "bet24.com/database"
  7. "bet24.com/log"
  8. )
  9. // 游戏记录报表(局数、时长)
  10. func gameRecordIndex(gameId, partnerId int, beginTime, endTime string) []*gameIndexInfo {
  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 list []*gameIndexInfo
  18. statement := database.NewStatement()
  19. statement.SetNeedReturnValue(false)
  20. statement.SetOpenRecordSet(true)
  21. statement.SetProcName("Manage_GameRecord_GetReport")
  22. statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
  23. statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
  24. statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, gameId)
  25. statement.AddParamter("@PartnerID", database.AdParamInput, database.AdInteger, 4, partnerId)
  26. sqlstring := statement.GenSql()
  27. retRows := dao.CenterDB.ExecSql(sqlstring)
  28. rowLen := len(retRows)
  29. if rowLen <= 0 {
  30. return list
  31. }
  32. for i := 0; i < rowLen; i++ {
  33. ret := retRows[i]
  34. var out gameIndexInfo
  35. out.DateFlag = (*ret[0].(*interface{})).(string)
  36. out.TotalCount = int((*ret[1].(*interface{})).(int64))
  37. out.WinCount = int((*ret[2].(*interface{})).(int64))
  38. out.PlaySeconds = int((*ret[3].(*interface{})).(int64))
  39. out.Players = int((*ret[4].(*interface{})).(int64))
  40. out.TaxAmount = int((*ret[5].(*interface{})).(int64))
  41. list = append(list, &out)
  42. }
  43. return list
  44. }
  45. // 获取牌局统计
  46. func trans_getCardStatList(req requestInfo) (int, []cardStatInfo) {
  47. defer func() {
  48. if err := recover(); err != nil {
  49. log.Error("transaction recover err %v", err)
  50. log.Error("%s", debug.Stack())
  51. }
  52. }()
  53. var recordCount int
  54. var list []cardStatInfo
  55. statement := database.NewStatement()
  56. statement.SetNeedReturnValue(false)
  57. statement.SetOpenRecordSet(true)
  58. statement.SetProcName("Manage_CardStat_GetList")
  59. statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, req.GameId)
  60. statement.AddParamter("@TypeID", database.AdParamInput, database.AdInteger, 4, req.TypeId)
  61. statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, req.BeginTime)
  62. statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, req.EndTime)
  63. statement.AddParamter("@PageIndex", database.AdParamInput, database.AdInteger, 4, req.PageIndex)
  64. statement.AddParamter("@PageSize", database.AdParamInput, database.AdInteger, 4, req.PageSize)
  65. statement.AddParamter("@RecordCount", database.AdParamOutput, database.AdInteger, 4, recordCount)
  66. sqlString := statement.GenSql()
  67. retRows := dao.CenterDB.ExecSql(sqlString)
  68. rowLen := len(retRows)
  69. if rowLen <= 0 {
  70. return recordCount, list
  71. }
  72. if rowLen > 1 {
  73. for i := 0; i < rowLen-1; i++ {
  74. var info cardStatInfo
  75. ret := retRows[i]
  76. info.DateFlag = (*ret[0].(*interface{})).(string)
  77. info.GameID = int((*ret[1].(*interface{})).(int64))
  78. info.EnglishName = (*ret[2].(*interface{})).(string)
  79. info.PlayUserCount = int((*ret[3].(*interface{})).(int64))
  80. info.SendAmount = int((*ret[4].(*interface{})).(int64))
  81. info.ConsumeAmount = int((*ret[5].(*interface{})).(int64))
  82. info.BreakUserCount = int((*ret[6].(*interface{})).(int64))
  83. info.BreakTimes = int((*ret[7].(*interface{})).(int64))
  84. info.PlayCount = int((*ret[8].(*interface{})).(int64))
  85. info.PlaySeconds = int((*ret[9].(*interface{})).(int64))
  86. info.MidwayUserCount = int((*ret[10].(*interface{})).(int64))
  87. info.MidwayTimes = int((*ret[11].(*interface{})).(int64))
  88. list = append(list, info)
  89. }
  90. }
  91. recordCount = int((*retRows[rowLen-1][0].(*interface{})).(int64))
  92. return recordCount, list
  93. }
  94. // 中途退出统计
  95. func trans_getMidwayStatList(req requestInfo) (int, []midwayStatInfo) {
  96. defer func() {
  97. if err := recover(); err != nil {
  98. log.Error("transaction recover err %v", err)
  99. log.Error("%s", debug.Stack())
  100. }
  101. }()
  102. var recordCount int
  103. var list []midwayStatInfo
  104. statement := database.NewStatement()
  105. statement.SetNeedReturnValue(false)
  106. statement.SetOpenRecordSet(true)
  107. statement.SetProcName("Manage_MidwayStat_GetList")
  108. statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, req.GameId)
  109. statement.AddParamter("@TypeID", database.AdParamInput, database.AdInteger, 4, req.TypeId)
  110. statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, req.BeginTime)
  111. statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, req.EndTime)
  112. statement.AddParamter("@PageIndex", database.AdParamInput, database.AdInteger, 4, req.PageIndex)
  113. statement.AddParamter("@PageSize", database.AdParamInput, database.AdInteger, 4, req.PageSize)
  114. statement.AddParamter("@RecordCount", database.AdParamOutput, database.AdInteger, 4, recordCount)
  115. sqlString := statement.GenSql()
  116. retRows := dao.CenterDB.ExecSql(sqlString)
  117. rowLen := len(retRows)
  118. if rowLen <= 0 {
  119. return recordCount, list
  120. }
  121. if rowLen > 1 {
  122. for i := 0; i < rowLen-1; i++ {
  123. var info midwayStatInfo
  124. ret := retRows[i]
  125. info.DateFlag = (*ret[0].(*interface{})).(string)
  126. info.GameID = int((*ret[1].(*interface{})).(int64))
  127. info.EnglishName = (*ret[2].(*interface{})).(string)
  128. info.SourceName = (*ret[3].(*interface{})).(string)
  129. info.PlayUserCount = int((*ret[4].(*interface{})).(int64))
  130. info.PlayCount = int((*ret[5].(*interface{})).(int64))
  131. info.MidwayUserCount = int((*ret[6].(*interface{})).(int64))
  132. info.MidwayTimes = int((*ret[7].(*interface{})).(int64))
  133. list = append(list, info)
  134. }
  135. }
  136. recordCount = int((*retRows[rowLen-1][0].(*interface{})).(int64))
  137. return recordCount, list
  138. }
  139. // 水池统计
  140. func trans_getWaterPoolStatList(beginTime, endTime string) []*info {
  141. defer func() {
  142. if err := recover(); err != nil {
  143. log.Error("transaction recover err %v", err)
  144. log.Error("%s", debug.Stack())
  145. }
  146. }()
  147. statement := database.NewStatement()
  148. statement.SetNeedReturnValue(false)
  149. statement.SetOpenRecordSet(true)
  150. statement.SetProcName("Manage_WaterPoolStat_GetList")
  151. statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
  152. statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
  153. sqlString := statement.GenSql()
  154. retRows := dao.CenterDB.ExecSql(sqlString)
  155. rowLen := len(retRows)
  156. if rowLen <= 0 {
  157. return nil
  158. }
  159. var list []*info
  160. for i := 0; i < rowLen; i++ {
  161. ret := retRows[i]
  162. var out info
  163. out.DateFlag = (*ret[0].(*interface{})).(string)
  164. out.ItemName = (*ret[1].(*interface{})).(string)
  165. out.ItemValue = strconv.Itoa(int((*ret[2].(*interface{})).(int64)))
  166. list = append(list, &out)
  167. }
  168. return list
  169. }