partner.go 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package dao
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. )
  7. //渠道列表
  8. type (
  9. PartnerInfo struct {
  10. PartnerID int //合作商ID
  11. PartnerName string //合作商名称
  12. PrePartnerID int //父合作商ID
  13. EnglishName string //英文名
  14. ChannelLink string //渠道链接
  15. }
  16. partnerList_out struct {
  17. RecordCount int //记录数
  18. List []PartnerInfo
  19. }
  20. partnerList struct {
  21. database.Trans_base
  22. Out partnerList_out
  23. }
  24. )
  25. func NewPartnerList() *partnerList {
  26. return &partnerList{}
  27. }
  28. func (this *partnerList) DoAction(ch chan<- interface{}) {
  29. defer func() {
  30. if err := recover(); err != nil {
  31. log.Release("transaction recover fail %v", err)
  32. log.Release("%s", debug.Stack())
  33. }
  34. if ch != nil {
  35. ch <- this
  36. }
  37. }()
  38. statement := database.NewStatement()
  39. statement.SetNeedReturnValue(false)
  40. statement.SetOpenRecordSet(true)
  41. statement.SetProcName("Manage_Partner_GetList")
  42. sqlstring := statement.GenSql()
  43. retRows := CenterDB.ExecSql(sqlstring)
  44. rowLen := len(retRows)
  45. if rowLen <= 0 {
  46. this.State = false
  47. return
  48. }
  49. this.State = true
  50. this.Out.List = make([]PartnerInfo, rowLen)
  51. for i := 0; i < rowLen; i++ {
  52. ret := retRows[i]
  53. out := &this.Out.List[i]
  54. out.PartnerID = int((*ret[0].(*interface{})).(int64))
  55. out.PartnerName = (*ret[1].(*interface{})).(string)
  56. out.PrePartnerID = int((*ret[2].(*interface{})).(int64))
  57. out.EnglishName = (*ret[3].(*interface{})).(string)
  58. }
  59. }
  60. //添加渠道
  61. type (
  62. partnerAdd_in struct {
  63. OpUserID int //操作员ID
  64. OpUserName string //操作员名称
  65. PartnerID int //渠道ID
  66. PartnerName string //渠道名称
  67. PrePartnerID int //父渠道ID
  68. IpAddress string //IP地址
  69. EnglishName string //游戏英文名
  70. }
  71. partnerAdd_out struct {
  72. RetCode int //操作结果
  73. ErrorMsg string //操作描述
  74. }
  75. partnerAdd struct {
  76. database.Trans_base
  77. In partnerAdd_in
  78. Out partnerAdd_out
  79. }
  80. )
  81. func NewPartnerAdd() *partnerAdd {
  82. return &partnerAdd{}
  83. }
  84. func (this *partnerAdd) DoAction(ch chan<- interface{}) {
  85. defer func() {
  86. if err := recover(); err != nil {
  87. log.Release("transaction recover fail %v", err)
  88. log.Release("%s", debug.Stack())
  89. }
  90. if ch != nil {
  91. ch <- this
  92. }
  93. }()
  94. statement := database.NewStatement()
  95. statement.SetNeedReturnValue(false)
  96. statement.SetOpenRecordSet(true)
  97. statement.SetProcName("Manage_Partner_Add")
  98. statement.AddParamter("@OpUserID", database.AdParamInput, database.AdInteger, 4, this.In.OpUserID)
  99. statement.AddParamter("@OpUserName", database.AdParamInput, database.AdVarChar, 32, this.In.OpUserName)
  100. statement.AddParamter("@PartnerID", database.AdParamInput, database.AdInteger, 4, this.In.PartnerID)
  101. statement.AddParamter("@PartnerName", database.AdParamInput, database.AdNVarChar, 32, this.In.PartnerName)
  102. statement.AddParamter("@PrePartnerID", database.AdParamInput, database.AdInteger, 4, this.In.PrePartnerID)
  103. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IpAddress)
  104. statement.AddParamter("@EnglishName", database.AdParamInput, database.AdVarChar, 16, this.In.EnglishName)
  105. statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, this.Out.RetCode)
  106. sqlstring := statement.GenSql()
  107. retRows := CenterDB.ExecSql(sqlstring)
  108. rowLen := len(retRows)
  109. if rowLen <= 0 {
  110. this.State = false
  111. return
  112. }
  113. this.Out.RetCode = int((*retRows[0][0].(*interface{})).(int64))
  114. }
  115. //删除渠道
  116. type (
  117. partnerDel_in struct {
  118. OpUserID int //操作员ID
  119. OpUserName string //操作员名称
  120. PartnerID int //渠道ID
  121. IpAddress string //IP地址
  122. }
  123. partnerDel_out struct {
  124. RetCode int //操作结果
  125. ErrorMsg string //操作描述
  126. }
  127. partnerDel struct {
  128. database.Trans_base
  129. In partnerDel_in
  130. Out partnerDel_out
  131. }
  132. )
  133. func NewPartnerDel() *partnerDel {
  134. return &partnerDel{}
  135. }
  136. func (this *partnerDel) DoAction(ch chan<- interface{}) {
  137. defer func() {
  138. if err := recover(); err != nil {
  139. log.Release("transaction recover fail %v", err)
  140. log.Release("%s", debug.Stack())
  141. }
  142. if ch != nil {
  143. ch <- this
  144. }
  145. }()
  146. statement := database.NewStatement()
  147. statement.SetNeedReturnValue(false)
  148. statement.SetOpenRecordSet(true)
  149. statement.SetProcName("Manage_Partner_Del")
  150. statement.AddParamter("@OpUserID", database.AdParamInput, database.AdInteger, 4, this.In.OpUserID)
  151. statement.AddParamter("@OpUserName", database.AdParamInput, database.AdVarChar, 32, this.In.OpUserName)
  152. statement.AddParamter("@PartnerID", database.AdParamInput, database.AdInteger, 20, this.In.PartnerID)
  153. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IpAddress)
  154. statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, this.Out.RetCode)
  155. sqlstring := statement.GenSql()
  156. retRows := CenterDB.ExecSql(sqlstring)
  157. rowLen := len(retRows)
  158. if rowLen <= 0 {
  159. this.State = false
  160. return
  161. }
  162. this.Out.RetCode = int((*retRows[0][0].(*interface{})).(int64))
  163. }