trans_collect.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package database
  2. import (
  3. "encoding/json"
  4. "runtime/debug"
  5. "strconv"
  6. "bet24.com/database"
  7. "bet24.com/log"
  8. pb "bet24.com/servers/micros/audioroom/proto"
  9. dbengine "bet24.com/servers/micros/dbengine/proto"
  10. )
  11. // 获取房间收集列表
  12. func GetCollectList(roomId int) []pb.RoomCollect {
  13. defer func() {
  14. if err := recover(); err != nil {
  15. log.Error("transaction recover err %v", err)
  16. log.Error("%s", debug.Stack())
  17. }
  18. }()
  19. statement := database.NewStatement()
  20. statement.SetNeedReturnValue(false)
  21. statement.SetOpenRecordSet(true)
  22. statement.SetProcName("WS_AudioRoom_GetCollectList")
  23. statement.AddParamter("@RoomID", database.AdParamInput, database.AdInteger, 4, roomId)
  24. sqlString := statement.GenSql()
  25. retRows := dbengine.ExecuteRs(sqlString)
  26. rowLen := len(retRows)
  27. if rowLen <= 0 {
  28. return nil
  29. }
  30. var list []pb.RoomCollect
  31. for i := 0; i < rowLen; i++ {
  32. ret := retRows[i]
  33. var info pb.RoomCollect
  34. info.DayIndex = int(ret[0].(int64))
  35. info.Points = int(ret[1].(int64))
  36. ratio := string(ret[2].([]byte))
  37. info.Ratio, _ = strconv.ParseFloat(ratio, 64)
  38. award := ret[3].(string)
  39. if err := json.Unmarshal([]byte(award), &info.Award); err != nil {
  40. log.Error("trans_collect.GetCollect json unmarshal err %v", err)
  41. }
  42. info.Status = int(ret[4].(int64))
  43. list = append(list, info)
  44. }
  45. return list
  46. }
  47. // 修改收集
  48. func UpdateCollect(roomId int, info *pb.RoomCollect) {
  49. defer func() {
  50. if err := recover(); err != nil {
  51. log.Error("transaction recover err %v", err)
  52. log.Error("%s", debug.Stack())
  53. }
  54. }()
  55. buf, _ := json.Marshal(info.Award)
  56. statement := database.NewStatement()
  57. statement.SetNeedReturnValue(false)
  58. statement.SetOpenRecordSet(true)
  59. statement.SetProcName("WS_AudioRoom_UpdateCollect")
  60. statement.AddParamter("@RoomID", database.AdParamInput, database.AdInteger, 4, roomId)
  61. statement.AddParamter("@DayIndex", database.AdParamInput, database.AdInteger, 4, info.DayIndex)
  62. statement.AddParamter("@Points", database.AdParamInput, database.AdInteger, 4, info.Points)
  63. statement.AddParamter("@Ratio", database.AdParamInput, database.AdInteger, 4, info.Ratio)
  64. statement.AddParamter("@Award", database.AdParamInput, database.AdVarChar, 32, string(buf))
  65. statement.AddParamter("@Status", database.AdParamInput, database.AdInteger, 4, info.Status)
  66. sqlString := statement.GenSql()
  67. dbengine.Execute(sqlString)
  68. }