transaction.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package subsidy
  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) *Subsidy {
  10. defer func() {
  11. if err := recover(); err != nil {
  12. log.Error("subsidy.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_UserSubsidy_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 &Subsidy{}
  26. }
  27. return &Subsidy{
  28. GiftTimes: int((retRows[0][0]).(int64)),
  29. Crdate: int((retRows[0][1]).(int64)),
  30. CoolTime: int((retRows[0][2]).(int64)),
  31. }
  32. }
  33. // 领取补助信息
  34. func gift(userId, giftTimes, crdate, coolTime int) int {
  35. defer func() {
  36. if err := recover(); err != nil {
  37. log.Error("subsidy.gift transaction recover err %v", err)
  38. log.Error("%s", debug.Stack())
  39. }
  40. }()
  41. retCode := 0
  42. statement := database.NewStatement()
  43. statement.SetNeedReturnValue(false)
  44. statement.SetOpenRecordSet(true)
  45. statement.SetProcName("WS_UserSubsidy_Update")
  46. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  47. statement.AddParamter("@GiftTimes", database.AdParamInput, database.AdInteger, 4, giftTimes)
  48. statement.AddParamter("@CoolTime", database.AdParamInput, database.AdInteger, 4, coolTime)
  49. statement.AddParamter("@Crdate", database.AdParamInput, database.AdInteger, 4, crdate)
  50. statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, retCode)
  51. sqlString := statement.GenSql()
  52. //log.Debug(sqlString)
  53. retRows := dbengine.CenterDB.ExecSql(sqlString)
  54. if len(retRows) <= 0 {
  55. return 0
  56. }
  57. return int((retRows[0][0]).(int64))
  58. }
  59. // 领取元宝补助
  60. func giftChip(userId, lowerAmount int, ipAddress string) bool {
  61. defer func() {
  62. if err := recover(); err != nil {
  63. log.Error("transaction recover err %v", err)
  64. log.Error("%s", debug.Stack())
  65. }
  66. }()
  67. statement := database.NewStatement()
  68. statement.SetNeedReturnValue(false)
  69. statement.SetOpenRecordSet(true)
  70. statement.SetProcName("WS_UserChipSubsidy_Gift")
  71. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  72. statement.AddParamter("@LowerAmount", database.AdParamInput, database.AdBigint, 8, lowerAmount)
  73. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 20, ipAddress)
  74. sqlstring := statement.GenSql()
  75. retRows := dbengine.CenterDB.ExecSql(sqlstring)
  76. if len(retRows) <= 0 {
  77. return false
  78. }
  79. return int((retRows[0][0]).(int64)) == 1
  80. }