2019-04-22 02:59:20 +00:00

87 lines
1.9 KiB
Go

package dao
import (
"context"
"strconv"
"go-common/library/cache/redis"
"go-common/library/log"
)
const (
_prefixBuyFlag = "b_"
_prefixApplyFlag = "a_"
)
func keyBuyFlag(mid int64) string {
return _prefixBuyFlag + strconv.FormatInt(mid, 10)
}
func keyApplyFlag(code string) string {
return _prefixApplyFlag + code
}
// pingRedis ping redis.
func (d *Dao) pingRedis(c context.Context) (err error) {
conn := d.redis.Get(c)
defer conn.Close()
if _, err = redis.String(conn.Do("PING")); err != nil {
log.Error("redis.String(conn.Do(PING)) error(%v)", err)
}
return
}
// SetBuyFlagCache set buy flag cache
func (d *Dao) SetBuyFlagCache(c context.Context, mid int64, f string) (ok bool, err error) {
key := keyBuyFlag(mid)
conn := d.redis.Get(c)
defer conn.Close()
var res interface{}
if res, err = conn.Do("SET", key, f, "EX", d.inviteExpire, "NX"); err != nil {
log.Error("conn.Do(SET, %s, %s, EX, %d, NX)", key, f)
return
}
if res != nil {
ok = true
}
return
}
// DelBuyFlagCache del buy flag cache
func (d *Dao) DelBuyFlagCache(c context.Context, mid int64) (err error) {
key := keyBuyFlag(mid)
conn := d.redis.Get(c)
defer conn.Close()
if _, err = conn.Do("DEL", key); err != nil {
log.Error("conn.Do(DEL, %s)", key)
}
return
}
// SetApplyFlagCache set apply flag cache
func (d *Dao) SetApplyFlagCache(c context.Context, code, f string) (ok bool, err error) {
key := keyApplyFlag(code)
conn := d.redis.Get(c)
defer conn.Close()
var res interface{}
if res, err = conn.Do("SET", key, f, "EX", d.inviteExpire, "NX"); err != nil {
log.Error("conn.Do(SET, %s, %s, EX, %d, NX)", key, f, d.inviteExpire)
return
}
if res != nil {
ok = true
}
return
}
// DelApplyFlagCache del apply Flag Cache
func (d *Dao) DelApplyFlagCache(c context.Context, code string) (err error) {
key := keyApplyFlag(code)
conn := d.redis.Get(c)
defer conn.Close()
if _, err = conn.Do("DEL", key); err != nil {
log.Error("conn.Do(DEL, %s)", key)
}
return
}