You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.1 KiB
52 lines
1.1 KiB
package search |
|
|
|
import ( |
|
"context" |
|
"time" |
|
|
|
searchModel "go-common/app/admin/main/feed/model/search" |
|
"go-common/library/cache/memcache" |
|
) |
|
|
|
//SetSearchAuditStat set hot publish state to MC |
|
func (d *Dao) SetSearchAuditStat(c context.Context, key string, state bool) (err error) { |
|
var ( |
|
conn memcache.Conn |
|
p searchModel.PublishState |
|
) |
|
p.Date = time.Now().Format("2006-01-02") |
|
p.State = state |
|
conn = d.MC.Get(c) |
|
defer conn.Close() |
|
itemJSON := &memcache.Item{ |
|
Key: key, |
|
Flags: memcache.FlagJSON, |
|
Object: p, |
|
Expiration: 0, |
|
} |
|
if err = conn.Set(itemJSON); err != nil { |
|
return |
|
} |
|
return |
|
} |
|
|
|
//GetSearchAuditStat get hot publish state from MC |
|
func (d *Dao) GetSearchAuditStat(c context.Context, key string) (f bool, date string, err error) { |
|
var ( |
|
conn memcache.Conn |
|
item *memcache.Item |
|
p searchModel.PublishState |
|
) |
|
conn = d.MC.Get(c) |
|
defer conn.Close() |
|
if item, err = conn.Get(key); err != nil { |
|
if err == memcache.ErrNotFound { |
|
return false, "", nil |
|
} |
|
return |
|
} |
|
if err = conn.Scan(item, &p); err != nil { |
|
return |
|
} |
|
return p.State, p.Date, nil |
|
}
|
|
|