transaction.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package vitality
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. "bet24.com/servers/coreservice/dbengine"
  7. )
  8. // 获取活跃度
  9. func getInfo(userId int) Vitality {
  10. defer func() {
  11. if err := recover(); err != nil {
  12. log.Error("vitality.getInfo transaction recover err %v", err)
  13. log.Error("%s", debug.Stack())
  14. }
  15. }()
  16. statement := database.NewStatement()
  17. statement.SetNeedReturnValue(false)
  18. statement.SetOpenRecordSet(true)
  19. statement.SetProcName("WS_UserVitality_GetInfo")
  20. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  21. sqlstring := statement.GenSql()
  22. // log.Debug(sqlstring)
  23. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  24. if len(retRows) <= 0 {
  25. return Vitality{}
  26. }
  27. ret := retRows[0]
  28. var out Vitality
  29. out.DayIndex = int((ret[0]).(int64))
  30. out.DayPoint = int((ret[1]).(int64))
  31. out.WeekIndex = int((ret[2]).(int64))
  32. out.WeekPoint = int((ret[3]).(int64))
  33. return out
  34. }
  35. // 修改活跃度
  36. func update(userId int, info Vitality) int {
  37. defer func() {
  38. if err := recover(); err != nil {
  39. log.Error("vitality.update transaction recover err %v", err)
  40. log.Error("%s", debug.Stack())
  41. }
  42. }()
  43. retCode := 0
  44. statement := database.NewStatement()
  45. statement.SetNeedReturnValue(false)
  46. statement.SetOpenRecordSet(true)
  47. statement.SetProcName("WS_UserVitality_Update")
  48. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  49. statement.AddParamter("@DayIndex", database.AdParamInput, database.AdInteger, 4, info.DayIndex)
  50. statement.AddParamter("@DayPoint", database.AdParamInput, database.AdInteger, 4, info.DayPoint)
  51. statement.AddParamter("@WeekIndex", database.AdParamInput, database.AdInteger, 4, info.WeekIndex)
  52. statement.AddParamter("@WeekPoint", database.AdParamInput, database.AdInteger, 4, info.WeekPoint)
  53. statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, retCode)
  54. sqlstring := statement.GenSql()
  55. // log.Debug(sqlstring)
  56. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  57. if len(retRows) <= 0 {
  58. return 0
  59. }
  60. return int((retRows[0][0]).(int64))
  61. }