trans_changeSex.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package transaction
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. )
  7. type changeSex_in struct {
  8. UserID int
  9. Sex int //性别 0=默认(无) 1=男 2=女
  10. }
  11. type changeSex_out struct {
  12. RetCode int
  13. FaceID int //头像ID
  14. ErrorMsg string
  15. }
  16. type changeSex struct {
  17. database.Trans_base
  18. IN changeSex_in
  19. Out changeSex_out
  20. }
  21. func NewTransChangeSex() *changeSex {
  22. return &changeSex{}
  23. }
  24. func (this *changeSex) DoAction(ch chan<- interface{}) {
  25. defer func() {
  26. if err := recover(); err != nil {
  27. log.Release("transaction recover %v", err)
  28. log.Release("%s", debug.Stack())
  29. }
  30. if ch != nil {
  31. ch <- this
  32. }
  33. }()
  34. statement := database.NewStatement()
  35. statement.SetNeedReturnValue(false)
  36. statement.SetOpenRecordSet(true)
  37. statement.SetProcName("WS_AllUser_ChangeSex")
  38. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, this.IN.UserID)
  39. statement.AddParamter("@Sex", database.AdParamInput, database.AdInteger, 4, this.IN.Sex)
  40. sqlstring := statement.GenSql()
  41. //log.Debug(sqlstring)
  42. retRows := CenterDB.ExecSql(sqlstring)
  43. if len(retRows) <= 0 {
  44. this.State = false
  45. return
  46. }
  47. this.State = true
  48. ret := retRows[0]
  49. this.Out.RetCode = int((ret[0]).(int64))
  50. this.Out.FaceID = int((ret[1]).(int64))
  51. }