123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- package dao
- import (
- "context"
- "fmt"
- "go-common/library/cache/memcache"
- "go-common/library/log"
- "go-common/library/stat/prom"
- "github.com/pkg/errors"
- )
- func orderKey(id string) string {
- return fmt.Sprintf("up_o_%s", id)
- }
- func assetKey(oid int64, otype string, currency string) string {
- return fmt.Sprintf("up_a_%d_%s_%s", oid, otype, currency)
- }
- func taskKey(task string) string {
- return fmt.Sprintf("up_t_%s", task)
- }
- // DelCacheOrderUser delete data from mc
- func (d *Dao) DelCacheOrderUser(c context.Context, orderID string) (err error) {
- conn := d.mc.Get(c)
- defer conn.Close()
- key := orderKey(orderID)
- if err = conn.Delete(key); err != nil {
- if err == memcache.ErrNotFound {
- err = nil
- return
- }
- prom.BusinessErrCount.Incr("mc:DelCacheOrderUser")
- log.Errorv(c, log.KV("DelCacheOrderUser", fmt.Sprintf("%+v", err)), log.KV("key", key))
- return
- }
- return
- }
- // DelCacheAsset delete data from mc
- func (d *Dao) DelCacheAsset(c context.Context, oid int64, otype string, currency string) (err error) {
- conn := d.mc.Get(c)
- defer conn.Close()
- key := assetKey(oid, otype, currency)
- if err = conn.Delete(key); err != nil {
- if err == memcache.ErrNotFound {
- err = nil
- return
- }
- prom.BusinessErrCount.Incr("mc:DelCacheAsset")
- log.Errorv(c, log.KV("DelCacheAsset", fmt.Sprintf("%+v", err)), log.KV("key", key))
- return
- }
- return
- }
- // AddCacheTask .
- func (d *Dao) AddCacheTask(c context.Context, task string, ttl int32) (ok bool, err error) {
- var (
- conn = d.mc.Get(c)
- item = &memcache.Item{
- Key: taskKey(task),
- Value: []byte{0},
- Expiration: ttl,
- }
- )
- defer conn.Close()
- if err = conn.Add(item); err != nil {
- if err == memcache.ErrNotStored {
- err = nil
- ok = false
- return
- }
- err = errors.WithStack(err)
- return
- }
- ok = true
- return
- }
- // DelCacheTask .
- func (d *Dao) DelCacheTask(c context.Context, task string) (err error) {
- var (
- conn = d.mc.Get(c)
- key = taskKey(task)
- )
- defer conn.Close()
- if err = conn.Delete(key); err != nil {
- if err == memcache.ErrNotFound {
- err = nil
- } else {
- err = errors.WithStack(err)
- }
- }
- return
- }
- // ugcpay-rank
- func elecUserSetting(mid int64) string {
- return fmt.Sprintf("eus_%d", mid)
- }
- // DelCacheUserSetting .
- func (d *Dao) DelCacheUserSetting(c context.Context, mid int64) (err error) {
- var (
- conn = d.mcRank.Get(c)
- key = elecUserSetting(mid)
- )
- defer conn.Close()
- if err = conn.Delete(key); err != nil {
- if err == memcache.ErrNotFound {
- err = nil
- } else {
- err = errors.WithStack(err)
- }
- }
- return
- }
|