1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package dao
- import (
- "context"
- "encoding/hex"
- "fmt"
- "go-common/app/job/main/identify/model"
- xsql "go-common/library/database/sql"
- "go-common/library/log"
- )
- const (
- _newSessionBinByteLen = 16
- _getCookieDeletedSQL = "SELECT id,mid,session FROM user_cookie_deleted_%s where id > ? limit ?"
- _getTokenDeletedSQL = "SELECT id,mid,token FROM user_token_deleted_%s where id > ? limit ?"
- )
- // CookieDeleted get cookie deleted
- func (d *Dao) CookieDeleted(c context.Context, start, count int64, suffix string) (res []*model.AuthCookie, err error) {
- var rows *xsql.Rows
- if rows, err = d.authDB.Query(c, fmt.Sprintf(_getCookieDeletedSQL, suffix), start, count); err != nil {
- log.Error("fail to get CookieDeleted, dao.authDB.Query(%s) error(%v)", _getCookieDeletedSQL, err)
- return
- }
- defer rows.Close()
- for rows.Next() {
- var session []byte
- a := new(model.AuthCookie)
- if err = rows.Scan(&a.ID, &a.Mid, &session); err != nil {
- log.Error("row.Scan() error(%v)", err)
- res = nil
- return
- }
- a.Session = encodeSession(session)
- res = append(res, a)
- }
- return
- }
- // TokenDeleted get token deleted
- func (d *Dao) TokenDeleted(c context.Context, start, count int64, suffix string) (res []*model.AuthToken, err error) {
- var rows *xsql.Rows
- if rows, err = d.authDB.Query(c, fmt.Sprintf(_getTokenDeletedSQL, suffix), start, count); err != nil {
- log.Error("fail to get TokenDeleted, dao.authDB.Query(%s) error(%v)", _getTokenDeletedSQL, err)
- return
- }
- defer rows.Close()
- for rows.Next() {
- var token []byte
- a := new(model.AuthToken)
- if err = rows.Scan(&a.ID, &a.Mid, &token); err != nil {
- log.Error("row.Scan() error(%v)", err)
- res = nil
- return
- }
- a.Token = hex.EncodeToString(token)
- res = append(res, a)
- }
- return
- }
- func encodeSession(b []byte) (s string) {
- // format new
- if len(b) == _newSessionBinByteLen {
- return hex.EncodeToString(b)
- }
- // or format old
- return string(b)
- }
|