liu.go 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. package db
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. )
  7. // liu支付代付(提现请求)
  8. type (
  9. liuWithdrawReq_in struct {
  10. UserID int // 用户ID
  11. Amount int // 提现金额
  12. IPAddress string // IP地址
  13. RealName string // 真实姓名
  14. BankCard string // 银行卡
  15. BankName string // 银行名称
  16. Mobile string // 电话
  17. Email string // email
  18. Address string // 地址
  19. }
  20. liuWithdrawReq_out struct {
  21. RetCode int // 操作结果 1=下单成功 11=参数无效 12=提现金额太小 13=提现次数超过限制 14=提现金额超过限制 15=扣减金币失败
  22. OrderID string // 订单号
  23. GetStatus int // 状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提成成功(无审核) 11=拒绝)
  24. RealAmount int // 实际提现的金额(扣除费率)
  25. Tel string // 手机号
  26. }
  27. liuWithdrawReq struct {
  28. database.Trans_base
  29. In liuWithdrawReq_in
  30. Out liuWithdrawReq_out
  31. }
  32. )
  33. func NewLiuWithdrawReq() *liuWithdrawReq {
  34. return &liuWithdrawReq{}
  35. }
  36. func (this *liuWithdrawReq) DoAction() {
  37. defer func() {
  38. if err := recover(); err != nil {
  39. log.Error("transaction recover err %v", err)
  40. log.Error("%s", debug.Stack())
  41. }
  42. }()
  43. statement := database.NewStatement()
  44. statement.SetNeedReturnValue(false)
  45. statement.SetOpenRecordSet(true)
  46. statement.SetProcName("Pay_LiuWithdraw_Req")
  47. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, this.In.UserID)
  48. statement.AddParamter("@Amount", database.AdParamInput, database.AdInteger, 4, this.In.Amount)
  49. statement.AddParamter("@RealName", database.AdParamInput, database.AdVarChar, 128, this.In.RealName)
  50. statement.AddParamter("@BankCard", database.AdParamInput, database.AdVarChar, 32, this.In.BankCard)
  51. statement.AddParamter("@BankName", database.AdParamInput, database.AdVarChar, 128, this.In.BankName)
  52. statement.AddParamter("@Mobile", database.AdParamInput, database.AdVarChar, 32, this.In.Mobile)
  53. statement.AddParamter("@EMail", database.AdParamInput, database.AdVarChar, 64, this.In.Email)
  54. statement.AddParamter("@Address", database.AdParamInput, database.AdVarChar, 256, this.In.Address)
  55. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IPAddress)
  56. sqlstring := statement.GenSql()
  57. retRows := CenterDB.ExecSql(sqlstring)
  58. if len(retRows) <= 0 {
  59. return
  60. }
  61. ret := retRows[0]
  62. this.Out.RetCode = int(ret[0].(int64))
  63. this.Out.OrderID = ret[1].(string)
  64. this.Out.GetStatus = int(ret[2].(int64))
  65. this.Out.RealAmount = int(ret[3].(int64))
  66. this.Out.Tel = ret[4].(string)
  67. }
  68. // liu支付代付(提现通知)
  69. type (
  70. liuWithdrawNotify_in struct {
  71. OrderID string // 订单号
  72. DfTransactionId string // 平台代付单号,32字符以内
  73. Status int // 0=Failure 1=Success 2=Pending(Success)
  74. DfDesc string // 代付状态描述
  75. Balance int // 余额
  76. }
  77. liuWithdrawNotify_out struct {
  78. RetCode int // 操作结果 1=操作成功 2=操作失败,返还金币 11=操作失败
  79. UserID int // 用户ID
  80. }
  81. liuWithdrawNotify struct {
  82. database.Trans_base
  83. In liuWithdrawNotify_in
  84. Out liuWithdrawNotify_out
  85. }
  86. )
  87. func NewLiuWithdrawNotify() *liuWithdrawNotify {
  88. return &liuWithdrawNotify{}
  89. }
  90. func (this *liuWithdrawNotify) DoAction() {
  91. defer func() {
  92. if err := recover(); err != nil {
  93. log.Error("transaction recover err %v", err)
  94. log.Error("%s", debug.Stack())
  95. }
  96. }()
  97. statement := database.NewStatement()
  98. statement.SetNeedReturnValue(false)
  99. statement.SetOpenRecordSet(true)
  100. statement.SetProcName("Pay_LiuWithdraw_Notify")
  101. statement.AddParamter("@OrderID", database.AdParamInput, database.AdVarChar, 32, this.In.OrderID)
  102. statement.AddParamter("@DfTransactionId", database.AdParamInput, database.AdVarChar, 32, this.In.DfTransactionId)
  103. statement.AddParamter("@Status", database.AdParamInput, database.AdInteger, 4, this.In.Status)
  104. statement.AddParamter("@DfDesc", database.AdParamInput, database.AdVarChar, 256, this.In.DfDesc)
  105. statement.AddParamter("@Balance", database.AdParamInput, database.AdInteger, 4, this.In.Balance)
  106. sqlstring := statement.GenSql()
  107. retRows := CenterDB.ExecSql(sqlstring)
  108. if (len(retRows)) <= 0 {
  109. return
  110. }
  111. ret := retRows[0]
  112. this.Out.RetCode = int(ret[0].(int64))
  113. this.Out.UserID = int(ret[1].(int64))
  114. }
  115. // 提现申请队列
  116. type (
  117. liuWithdrawQueue_out struct {
  118. List []string
  119. }
  120. liuWithdrawQueue struct {
  121. database.Trans_base
  122. Out liuWithdrawQueue_out
  123. }
  124. )
  125. func NewLiuWithdrawQueue() *liuWithdrawQueue {
  126. return &liuWithdrawQueue{}
  127. }
  128. func (this *liuWithdrawQueue) DoAction() {
  129. defer func() {
  130. if err := recover(); err != nil {
  131. log.Error("transaction recover err %v", err)
  132. log.Error("%s", debug.Stack())
  133. }
  134. }()
  135. statement := database.NewStatement()
  136. statement.SetNeedReturnValue(false)
  137. statement.SetOpenRecordSet(true)
  138. statement.SetProcName("Pay_LiuWithdraw_ReqQueue")
  139. sqlstring := statement.GenSql()
  140. retRows := CenterDB.ExecSql(sqlstring)
  141. rowLen := len(retRows)
  142. if rowLen <= 0 {
  143. return
  144. }
  145. for i := 0; i < rowLen; i++ {
  146. ret := retRows[i]
  147. this.Out.List = append(this.Out.List, ret[0].(string))
  148. }
  149. }
  150. // 提现审核
  151. type (
  152. liuWithdrawAudit_in struct {
  153. OpUserID int // 操作员ID
  154. OpUserName string // 操作员名称
  155. OrderID string // 订单号
  156. Status int // 状态 2=同意 11=拒绝
  157. IpAddress string // IP地址
  158. }
  159. liuWithdrawAuditInfo struct {
  160. RetCode int // 操作结果
  161. OrderID string // 订单号
  162. UserID int // 用户ID
  163. GetStatus int // 状态 (0=下单(无审核) 1=待审核 2=已审核 3=提现成功(审核) 4=提现成功(无审核) 11=拒绝)
  164. Amount int // 提现金额
  165. RealName string // 真实姓名
  166. BankCard string // 银行卡
  167. BankName string // 银行名称
  168. Mobile string // 电话
  169. EMail string // email
  170. Address string // 地址
  171. }
  172. liuWithdrawAudit struct {
  173. database.Trans_base
  174. In liuWithdrawAudit_in
  175. Out liuWithdrawAuditInfo
  176. }
  177. )
  178. func NewLiuWithdrawAudit() *liuWithdrawAudit {
  179. return &liuWithdrawAudit{}
  180. }
  181. func (this *liuWithdrawAudit) DoAction(ch chan<- interface{}) {
  182. defer func() {
  183. if err := recover(); err != nil {
  184. log.Release("transaction recover err %v", err)
  185. log.Release("%s", debug.Stack())
  186. }
  187. if ch != nil {
  188. ch <- this
  189. }
  190. }()
  191. statement := database.NewStatement()
  192. statement.SetNeedReturnValue(false)
  193. statement.SetOpenRecordSet(true)
  194. statement.SetProcName("Manage_LiuWithdraw_Audit")
  195. statement.AddParamter("@OpUserID", database.AdParamInput, database.AdInteger, 4, this.In.OpUserID)
  196. statement.AddParamter("@OpUserName", database.AdParamInput, database.AdVarChar, 32, this.In.OpUserName)
  197. statement.AddParamter("@OrderID", database.AdParamInput, database.AdVarChar, 32, this.In.OrderID)
  198. statement.AddParamter("@Status", database.AdParamInput, database.AdInteger, 4, this.In.Status)
  199. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IpAddress)
  200. sqlstring := statement.GenSql()
  201. retRows := CenterDB.ExecSql(sqlstring)
  202. rowLen := len(retRows)
  203. if rowLen <= 0 {
  204. this.State = false
  205. return
  206. }
  207. this.State = true
  208. ret := retRows[0]
  209. this.Out.RetCode = int(ret[0].(int64))
  210. this.Out.OrderID = ret[1].(string)
  211. this.Out.UserID = int(ret[2].(int64))
  212. this.Out.GetStatus = int(ret[3].(int64))
  213. this.Out.Amount = int(ret[4].(int64))
  214. this.Out.RealName = ret[5].(string)
  215. this.Out.BankCard = ret[6].(string)
  216. this.Out.BankName = ret[7].(string)
  217. this.Out.Mobile = ret[8].(string)
  218. this.Out.EMail = ret[9].(string)
  219. this.Out.Address = ret[10].(string)
  220. }