transaction.go 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package giftpack
  2. import (
  3. "bet24.com/database"
  4. "bet24.com/log"
  5. pb "bet24.com/servers/micros/activityservice/proto"
  6. dbengine "bet24.com/servers/micros/dbengine/proto"
  7. "encoding/json"
  8. )
  9. /*
  10. table user_package {UserId,PackageId,StartDay,Status}
  11. table user_term {UserId,PackageId,TermIndex,ClaimDay}
  12. */
  13. /*
  14. 数据库输出[{PackageId,StartDay,Status}]
  15. */
  16. func transGetUserGiftPacks(userId int) []pb.UserGiftPack {
  17. statement := database.NewStatement()
  18. statement.SetNeedReturnValue(false)
  19. statement.SetOpenRecordSet(true)
  20. statement.SetProcName("WS_NoviceWelfare_GetUserGiftPacks")
  21. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  22. sqlString := statement.GenSql()
  23. //log.Debug(sqlstring)
  24. jsonData := dbengine.Execute(sqlString)
  25. var out []pb.UserGiftPack
  26. if err := json.Unmarshal([]byte(jsonData), &out); err != nil {
  27. log.Error("transaction.transGetUserTaskList json unmarshal UserID=%d err %v", userId, err)
  28. }
  29. return out
  30. }
  31. // 更新或插入用户礼包状态
  32. func transSetUserGiftPack(userId int, packageId int, startDay int, status int) {
  33. statement := database.NewStatement()
  34. statement.SetNeedReturnValue(false)
  35. statement.SetOpenRecordSet(false)
  36. statement.SetProcName("WS_NoviceWelfare_SetUserGiftPacks")
  37. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  38. statement.AddParamter("@PackageId", database.AdParamInput, database.AdInteger, 4, packageId)
  39. statement.AddParamter("@StartDay", database.AdParamInput, database.AdInteger, 4, startDay)
  40. statement.AddParamter("@Status", database.AdParamInput, database.AdInteger, 4, status)
  41. sqlString := statement.GenSql()
  42. //log.Debug(sqlstring)
  43. dbengine.Execute(sqlString)
  44. }
  45. // 获取已购买礼包的领取列表
  46. type userPackageTerms struct {
  47. PackageId int
  48. pb.UserGrowthTerm
  49. }
  50. func transGetUserTerms(userId int) []userPackageTerms {
  51. statement := database.NewStatement()
  52. statement.SetNeedReturnValue(false)
  53. statement.SetOpenRecordSet(true)
  54. statement.SetProcName("WS_NoviceWelfare_GetUserTerms")
  55. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  56. sqlString := statement.GenSql()
  57. //log.Debug(sqlstring)
  58. jsonData := dbengine.Execute(sqlString)
  59. var out []userPackageTerms
  60. if err := json.Unmarshal([]byte(jsonData), &out); err != nil {
  61. log.Error("transaction.transGetUserTerms json unmarshal UserID=%d err %v", userId, err)
  62. }
  63. return out
  64. }
  65. func transSetUserTerm(userId int, packageId int, termIndex int, ClaimDay int) {
  66. statement := database.NewStatement()
  67. statement.SetNeedReturnValue(false)
  68. statement.SetOpenRecordSet(false)
  69. statement.SetProcName("WS_NoviceWelfare_SetUserTerm")
  70. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  71. statement.AddParamter("@PackageId", database.AdParamInput, database.AdInteger, 4, packageId)
  72. statement.AddParamter("@TermIndex", database.AdParamInput, database.AdInteger, 4, termIndex)
  73. statement.AddParamter("@ClaimDay", database.AdParamInput, database.AdInteger, 4, ClaimDay)
  74. sqlString := statement.GenSql()
  75. //log.Debug(sqlstring)
  76. dbengine.Execute(sqlString)
  77. }