aso.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package dao
  2. import (
  3. "context"
  4. "database/sql"
  5. "go-common/app/job/main/passport-sns/model"
  6. xsql "go-common/library/database/sql"
  7. "go-common/library/log"
  8. )
  9. const (
  10. _addSnsLogSQL = "INSERT INTO sns_log (mid,openid,unionid,appid,platform,operator,operate,description) VALUES(?,?,?,?,?,?,?,?)"
  11. _getAsoAccountSnsAllSQL = "SELECT mid,sina_uid,sina_access_token,sina_access_expires,qq_openid,qq_access_token,qq_access_expires FROM aso_account_sns WHERE mid > ? order by mid limit 20000"
  12. _getAsoAccountSnsSQL = "SELECT mid,sina_uid,sina_access_token,sina_access_expires,qq_openid,qq_access_token,qq_access_expires FROM aso_account_sns WHERE (qq_openid != '' or sina_uid != 0) and mid > ? order by mid limit 20000"
  13. )
  14. // AddSnsLog add sns log.
  15. func (d *Dao) AddSnsLog(c context.Context, a *model.SnsLog) (affected int64, err error) {
  16. var res sql.Result
  17. if res, err = d.snsDB.Exec(c, _addSnsLogSQL, a.Mid, a.OpenID, a.UnionID, a.AppID, a.Platform, a.Operator, a.Operate, a.Description); err != nil {
  18. log.Error("AddSnsLog(%+v) tx.Exec() error(%+v)", a, err)
  19. return
  20. }
  21. return res.RowsAffected()
  22. }
  23. // AsoAccountSnsAll get account sns
  24. func (d *Dao) AsoAccountSnsAll(c context.Context, start int64) (res []*model.AsoAccountSns, err error) {
  25. var rows *xsql.Rows
  26. if rows, err = d.asoDB.Query(c, _getAsoAccountSnsAllSQL, start); err != nil {
  27. log.Error("fail to get AsoAccountSns, dao.asoDB.Query() error(%+v)", err)
  28. return
  29. }
  30. defer rows.Close()
  31. for rows.Next() {
  32. r := new(model.AsoAccountSns)
  33. if err = rows.Scan(&r.Mid, &r.SinaUID, &r.SinaAccessToken, &r.SinaAccessExpires, &r.QQOpenid, &r.QQAccessToken, &r.QQAccessExpires); err != nil {
  34. log.Error("row.Scan() error(%v)", err)
  35. res = nil
  36. return
  37. }
  38. res = append(res, r)
  39. }
  40. return
  41. }
  42. // AsoAccountSns get account sns by id.
  43. func (d *Dao) AsoAccountSns(c context.Context, start int64) (res []*model.AsoAccountSns, err error) {
  44. var rows *xsql.Rows
  45. if rows, err = d.asoDB.Query(c, _getAsoAccountSnsSQL, start); err != nil {
  46. log.Error("fail to get AsoAccountSns, dao.asoDB.Query() error(%+v)", err)
  47. return
  48. }
  49. defer rows.Close()
  50. for rows.Next() {
  51. r := new(model.AsoAccountSns)
  52. if err = rows.Scan(&r.Mid, &r.SinaUID, &r.SinaAccessToken, &r.SinaAccessExpires, &r.QQOpenid, &r.QQAccessToken, &r.QQAccessExpires); err != nil {
  53. log.Error("row.Scan() error(%v)", err)
  54. res = nil
  55. return
  56. }
  57. res = append(res, r)
  58. }
  59. return
  60. }