rank.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package dao
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. )
  7. type (
  8. scoreRankList_in struct {
  9. RankType int
  10. }
  11. scoreRankItem struct {
  12. DateFlag string
  13. Rank int
  14. UserID int
  15. NickName string
  16. Amount int
  17. Crdate string
  18. }
  19. scoreRankList_out struct {
  20. RecordCount int
  21. List []scoreRankItem
  22. }
  23. scoreRankList struct {
  24. database.Trans_base
  25. In scoreRankList_in
  26. Out scoreRankList_out
  27. }
  28. )
  29. func NewScoreRankList() *scoreRankList {
  30. return &scoreRankList{}
  31. }
  32. func (this *scoreRankList) DoAction() {
  33. defer func() {
  34. if err := recover(); err != nil {
  35. log.Error("transaction recover err %v", err)
  36. log.Error("%s", debug.Stack())
  37. }
  38. }()
  39. statement := database.NewStatement()
  40. statement.SetNeedReturnValue(false)
  41. statement.SetOpenRecordSet(true)
  42. statement.SetProcName("Manage_ChipScoreRank_GetList")
  43. statement.AddParamter("@RankType", database.AdParamInput, database.AdInteger, 4, this.In.RankType)
  44. sqlstring := statement.GenSql()
  45. retRows := CenterDB.ExecSql(sqlstring)
  46. rowLen := len(retRows)
  47. if rowLen <= 0 {
  48. return
  49. }
  50. this.Out.List = make([]scoreRankItem, rowLen)
  51. for i := 0; i < rowLen; i++ {
  52. ret := retRows[i]
  53. out := &this.Out.List[i]
  54. out.DateFlag = (*ret[0].(*interface{})).(string)
  55. out.Rank = int((*ret[1].(*interface{})).(int64))
  56. out.UserID = int((*ret[2].(*interface{})).(int64))
  57. out.NickName = (*ret[3].(*interface{})).(string)
  58. if info := tagMgr.getInfo(out.UserID); info != nil {
  59. out.NickName = info.NickName
  60. }
  61. out.Amount = int((*ret[4].(*interface{})).(int64))
  62. out.Crdate = (*ret[5].(*interface{})).(string)
  63. }
  64. }
  65. type (
  66. addScore_in struct {
  67. OpUserID int // 操作员ID
  68. OpUserName string // 操作员名称
  69. UserID int // 用户ID
  70. Score int // 积分
  71. IpAddress string // IP地址
  72. }
  73. addScore struct {
  74. database.Trans_base
  75. In addScore_in
  76. }
  77. )
  78. func NewAddScore() *addScore {
  79. return &addScore{}
  80. }
  81. func (this *addScore) DoAction() {
  82. defer func() {
  83. if err := recover(); err != nil {
  84. log.Error("transaction recover err %v", err)
  85. log.Error("%s", debug.Stack())
  86. }
  87. }()
  88. statement := database.NewStatement()
  89. statement.SetNeedReturnValue(false)
  90. statement.SetOpenRecordSet(true)
  91. statement.SetProcName("Manage_UserChipScore_AddRobot")
  92. statement.AddParamter("@OpUserID", database.AdParamInput, database.AdInteger, 4, this.In.OpUserID)
  93. statement.AddParamter("@OpUserName", database.AdParamInput, database.AdVarChar, 32, this.In.OpUserName)
  94. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, this.In.UserID)
  95. statement.AddParamter("@Score", database.AdParamInput, database.AdInteger, 4, this.In.Score)
  96. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IpAddress)
  97. sqlstring := statement.GenSql()
  98. CenterDB.ExecSql(sqlstring)
  99. return
  100. }