trans_gameRequest.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package transaction
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. )
  7. type GameRequestInfo struct {
  8. PartnerID int
  9. VersionCode int
  10. GameName string
  11. }
  12. type trans_gameRequest struct {
  13. database.Trans_base
  14. OUT []GameRequestInfo
  15. }
  16. func NewTransGameRequest() *trans_gameRequest {
  17. return &trans_gameRequest{}
  18. }
  19. func (this *trans_gameRequest) DoAction(ch chan<- interface{}) {
  20. defer func() {
  21. if err := recover(); err != nil {
  22. log.Release("transaction recover %v", err)
  23. log.Release("%s", debug.Stack())
  24. }
  25. if ch != nil {
  26. ch <- this
  27. }
  28. }()
  29. statement := database.NewStatement()
  30. statement.SetNeedReturnValue(false)
  31. statement.SetOpenRecordSet(true)
  32. statement.SetProcName("WS_Request_GetInfo")
  33. sqlstring := statement.GenSql()
  34. //log.Debug("%v", sqlstring)
  35. retRows := CenterDB.ExecSql(sqlstring)
  36. rowsLen := len(retRows)
  37. if rowsLen <= 0 {
  38. this.State = false
  39. return
  40. }
  41. this.State = true
  42. this.OUT = make([]GameRequestInfo, rowsLen)
  43. for i := 0; i < rowsLen; i++ {
  44. ret := retRows[i]
  45. out := &this.OUT[i]
  46. out.PartnerID = int((ret[0]).(int64))
  47. out.VersionCode = int((ret[1]).(int64))
  48. out.GameName = (ret[2]).(string)
  49. }
  50. }