trans_writeBetRecord.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package transaction
  2. import (
  3. "bet24.com/database"
  4. "bet24.com/log"
  5. )
  6. type trans_write_bet_record_in struct {
  7. UserID int //用户ID
  8. GameID int //游戏ID
  9. BetSecBefore int //结算前几秒下注的
  10. BetAmount int //下注金额
  11. BetDesc string //下注描述
  12. WinAmount int //输赢
  13. ResultDesc string //结果描述
  14. Tax int //产生税收
  15. WinRate float64 //赔率(百为基数)
  16. TransType string //
  17. IpAddress string //IP地址
  18. TimeStamp int
  19. RoomName string
  20. IsChip bool
  21. }
  22. type trans_write_bet_record struct {
  23. database.Trans_base
  24. IN trans_write_bet_record_in
  25. }
  26. func WriteBetRecordAction(userID, gameID int, userIP string, betAmount, winAmount, tax int, winRate float64,
  27. betDesc, resultDesc string, betSecBefore int, transType string, roomName string) {
  28. writeBetRecord := newTransWriteBetRecord()
  29. writeBetRecord.IN.UserID = userID
  30. writeBetRecord.IN.GameID = gameID
  31. writeBetRecord.IN.BetSecBefore = betSecBefore
  32. writeBetRecord.IN.BetAmount = betAmount
  33. writeBetRecord.IN.BetDesc = betDesc
  34. writeBetRecord.IN.WinAmount = winAmount
  35. writeBetRecord.IN.ResultDesc = resultDesc
  36. writeBetRecord.IN.Tax = tax
  37. writeBetRecord.IN.WinRate = winRate
  38. writeBetRecord.IN.IpAddress = userIP
  39. writeBetRecord.IN.TransType = transType
  40. writeBetRecord.IN.RoomName = roomName
  41. go writeBetRecord.DoAction(nil)
  42. }
  43. func WriteChipBetRecordAction(userID, gameID int, userIP string, betAmount, winAmount, tax int, winRate float64,
  44. betDesc, resultDesc string, betSecBefore int, transType string, roomName string) {
  45. writeBetRecord := newTransWriteBetRecord()
  46. writeBetRecord.IN.UserID = userID
  47. writeBetRecord.IN.GameID = gameID
  48. writeBetRecord.IN.BetSecBefore = betSecBefore
  49. writeBetRecord.IN.BetAmount = betAmount
  50. writeBetRecord.IN.BetDesc = betDesc
  51. writeBetRecord.IN.WinAmount = winAmount
  52. writeBetRecord.IN.ResultDesc = resultDesc
  53. writeBetRecord.IN.Tax = tax
  54. writeBetRecord.IN.WinRate = winRate
  55. writeBetRecord.IN.IpAddress = userIP
  56. writeBetRecord.IN.TransType = transType
  57. writeBetRecord.IN.RoomName = roomName
  58. writeBetRecord.IN.IsChip = true
  59. go writeBetRecord.DoAction(nil)
  60. }
  61. func newTransWriteBetRecord() *trans_write_bet_record {
  62. return &trans_write_bet_record{}
  63. }
  64. func (this *trans_write_bet_record) DoAction(ch chan<- interface{}) {
  65. statement := database.NewStatement()
  66. statement.SetNeedReturnValue(false)
  67. statement.SetOpenRecordSet(false)
  68. if this.IN.IsChip {
  69. statement.SetProcName("Game_ChipBetRecord_Write")
  70. } else {
  71. statement.SetProcName("Game_BetRecord_Write")
  72. }
  73. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, this.IN.UserID)
  74. statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, this.IN.GameID)
  75. statement.AddParamter("@BetSecBefore", database.AdParamInput, database.AdInteger, 4, this.IN.BetSecBefore)
  76. statement.AddParamter("@BetAmount", database.AdParamInput, database.AdBigint, 8, this.IN.BetAmount)
  77. statement.AddParamter("@BetZone", database.AdParamInput, database.AdVarChar, 512, this.IN.BetDesc)
  78. statement.AddParamter("@ResultAmount", database.AdParamInput, database.AdBigint, 8, this.IN.WinAmount)
  79. statement.AddParamter("@ResultZone", database.AdParamInput, database.AdVarChar, 1024, this.IN.ResultDesc)
  80. statement.AddParamter("@Tax", database.AdParamInput, database.AdBigint, 8, this.IN.Tax)
  81. statement.AddParamter("@Odds", database.AdParamInput, database.AdFloat, 8, this.IN.WinRate)
  82. statement.AddParamter("@TransType", database.AdParamInput, database.AdVarChar, 32, this.IN.TransType)
  83. statement.AddParamter("@IpAddress", database.AdParamInput, database.AdVarChar, 16, this.IN.IpAddress)
  84. statement.AddParamter("@ServerName", database.AdParamInput, database.AdNVarChar, 32, this.IN.RoomName)
  85. sqlstring := statement.GenSql()
  86. //log.Debug(sqlstring)
  87. CenterDB.ExecSql(sqlstring)
  88. }
  89. func WriteBetRecordSetCount(userId int, gameId int, secBefore int, setCount int) {
  90. statement := database.NewStatement()
  91. statement.SetNeedReturnValue(false)
  92. statement.SetOpenRecordSet(false)
  93. statement.SetProcName("Game_BetCount_Write")
  94. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
  95. statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, gameId)
  96. statement.AddParamter("@BetSecBefore", database.AdParamInput, database.AdInteger, 4, secBefore)
  97. statement.AddParamter("@PlayCount", database.AdParamInput, database.AdInteger, 4, setCount)
  98. sqlstring := statement.GenSql()
  99. log.Debug(sqlstring)
  100. CenterDB.ExecSql(sqlstring)
  101. }