transaction.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package rank
  2. import (
  3. "bet24.com/database"
  4. "bet24.com/log"
  5. dbengine "bet24.com/servers/micros/dbengine/proto"
  6. "runtime/debug"
  7. )
  8. // 获取榜单列表
  9. func getRankingList(nickname, beginTime, endTime string, rankType, userId, pageIndex, pageSize int) (int, []RankingList) {
  10. defer func() {
  11. if err := recover(); err != nil {
  12. log.Error("transaction recover err %v", err)
  13. log.Error("%s", debug.Stack())
  14. }
  15. }()
  16. var recordCount int
  17. statement := database.NewStatement()
  18. statement.SetNeedReturnValue(false)
  19. statement.SetOpenRecordSet(true)
  20. statement.SetProcName("Manage_Rank_GetList")
  21. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  22. statement.AddParamter("@Nickname", database.AdParamInput, database.AdNVarChar, 32, nickname)
  23. statement.AddParamter("@RankType", database.AdParamInput, database.AdInteger, 4, rankType)
  24. statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
  25. statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
  26. statement.AddParamter("@PageIndex", database.AdParamInput, database.AdInteger, 4, pageIndex)
  27. statement.AddParamter("@PageSize", database.AdParamInput, database.AdInteger, 4, pageSize)
  28. statement.AddParamter("@RecordCount", database.AdParamOutput, database.AdInteger, 4, recordCount)
  29. sqlString := statement.GenSql()
  30. //log.Debug(sqlString)
  31. retRows := dbengine.ExecuteRs(sqlString)
  32. rowLen := len(retRows)
  33. var records []RankingList
  34. if rowLen <= 0 {
  35. return 0, records
  36. }
  37. if rowLen > 1 {
  38. for i := 0; i < rowLen-1; i++ {
  39. ret := retRows[i]
  40. var data RankingList
  41. data.RankType = int(ret[0].(int64))
  42. data.Rank = int(ret[1].(int64))
  43. data.UserID = int(ret[2].(int64))
  44. data.Amount = int(ret[3].(int64))
  45. data.Crdate = ret[4].(string)
  46. data.IsGift = int(ret[5].(int64))
  47. data.NickName = ret[6].(string)
  48. records = append(records, data)
  49. }
  50. }
  51. if records == nil {
  52. records = make([]RankingList, 0)
  53. }
  54. recordCount = int(retRows[rowLen-1][0].(int64))
  55. return recordCount, records
  56. }