trans_bindFacebook.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package transaction
  2. import (
  3. "runtime/debug"
  4. "bet24.com/database"
  5. "bet24.com/log"
  6. item "bet24.com/servers/micros/item_inventory/proto"
  7. )
  8. // 绑定 facebook
  9. type (
  10. trans_bindFacebook_in struct {
  11. UserID int // 用户ID
  12. OpenID string // openid
  13. NickName string // 昵称
  14. FaceUrl string // 头像URL
  15. }
  16. trans_bindFacebook_out struct {
  17. RetCode int // 操作结果
  18. NickName string // 昵称
  19. FaceId int // 头像Id
  20. FaceUrl string // 头像URL
  21. Items []item.ItemPack
  22. }
  23. trans_bindFacebook struct {
  24. database.Trans_base
  25. In trans_bindFacebook_in
  26. Out trans_bindFacebook_out
  27. }
  28. )
  29. func NewTransBindFacebook() *trans_bindFacebook {
  30. return &trans_bindFacebook{}
  31. }
  32. func (this *trans_bindFacebook) DoAction() {
  33. defer func() {
  34. if err := recover(); err != nil {
  35. log.Error("transaction recover err %v", err)
  36. log.Error("%s", debug.Stack())
  37. }
  38. }()
  39. statement := database.NewStatement()
  40. statement.SetNeedReturnValue(false)
  41. statement.SetOpenRecordSet(true)
  42. statement.SetProcName("WS_UserFacebook_Bind")
  43. statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, this.In.UserID)
  44. statement.AddParamter("@OpenID", database.AdParamInput, database.AdVarChar, 64, this.In.OpenID)
  45. statement.AddParamter("@NickName", database.AdParamInput, database.AdNVarChar, 32, this.In.NickName)
  46. statement.AddParamter("@FaceUrl", database.AdParamInput, database.AdVarChar, 1024, this.In.FaceUrl)
  47. sqlstring := statement.GenSql()
  48. // log.Debug(sqlstring)
  49. retRows := CenterDB.ExecSql(sqlstring)
  50. if len(retRows) <= 0 {
  51. return
  52. }
  53. this.Out.RetCode = int((retRows[0][0]).(int64))
  54. if this.Out.RetCode == 1 {
  55. this.Out.NickName = this.In.NickName
  56. this.Out.FaceId = 0
  57. this.Out.FaceUrl = this.In.FaceUrl
  58. this.Out.Items = append(this.Out.Items, item.ItemPack{
  59. ItemId: 1,
  60. Count: int((retRows[0][1]).(int64)),
  61. })
  62. }
  63. }