trans_feedback.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package transaction
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. )
  7. // 客服反馈
  8. type (
  9. feedback_in struct {
  10. Email string // 邮箱
  11. ToUserId int // 关联的用户ID
  12. Msg string // 内容
  13. IPAddress string // IP地址
  14. }
  15. feedback_out struct {
  16. RetCode int
  17. }
  18. feedback struct {
  19. database.Trans_base
  20. In feedback_in
  21. Out feedback_out
  22. }
  23. )
  24. func NewFeedback() *feedback {
  25. return &feedback{}
  26. }
  27. func (this *feedback) DoAction() {
  28. defer func() {
  29. if err := recover(); err != nil {
  30. log.Error("transaction recover err %v", err)
  31. log.Error("%s", debug.Stack())
  32. }
  33. }()
  34. statement := database.NewStatement()
  35. statement.SetNeedReturnValue(false)
  36. statement.SetOpenRecordSet(true)
  37. statement.SetProcName("WS_Feedback_Send")
  38. statement.AddParamter("@EMail", database.AdParamInput, database.AdNVarChar, 64, this.In.Email)
  39. statement.AddParamter("@ToUserID", database.AdParamInput, database.AdInteger, 4, this.In.ToUserId)
  40. statement.AddParamter("@Msg", database.AdParamInput, database.AdNVarChar, 512, this.In.Msg)
  41. statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, this.In.IPAddress)
  42. sqlstring := statement.GenSql()
  43. retRows := CenterDB.ExecSql(sqlstring)
  44. if len(retRows) <= 0 {
  45. return
  46. }
  47. this.Out.RetCode = int((retRows[0][0]).(int64))
  48. return
  49. }