|
|
@@ -1,135 +0,0 @@
|
|
|
-package helpers
|
|
|
-
|
|
|
-import (
|
|
|
- "encoding/json"
|
|
|
- "fmt"
|
|
|
- "github.com/astaxie/beego"
|
|
|
- "github.com/go-redis/redis"
|
|
|
- "time"
|
|
|
-)
|
|
|
-
|
|
|
-// SetJsonEx set Json and second
|
|
|
-func SetJsonEx(key string, data interface{}, seconds int) error {
|
|
|
- jsonData, err := json.Marshal(data)
|
|
|
- if err != nil {
|
|
|
- return nil
|
|
|
- }
|
|
|
- return SetRedisValue(key, string(jsonData), time.Duration(seconds)*time.Second)
|
|
|
-}
|
|
|
-
|
|
|
-//保存keyValue
|
|
|
-func SetRedisValue(key, value string, expiration time.Duration) error {
|
|
|
- db, err := beego.AppConfig.Int("AliRedisDb")
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return err
|
|
|
- }
|
|
|
- client := redis.NewClient(&redis.Options{
|
|
|
- Addr: beego.AppConfig.String("AliRedisHost"),
|
|
|
- Password: beego.AppConfig.String("AliRedisPwd"), //默认空密码
|
|
|
- DB: db, //使用默认数据库
|
|
|
- })
|
|
|
- beego.BeeLogger.Info("Connect redis name (%s), pwd=%s", beego.AppConfig.String("AliRedisHost"), beego.AppConfig.String("AliRedisPwd"))
|
|
|
- defer client.Close() //最后关闭
|
|
|
- _, err = client.Ping().Result()
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return err
|
|
|
- }
|
|
|
-
|
|
|
- client.Set(key, value, expiration) //忽略错误
|
|
|
- return nil
|
|
|
-}
|
|
|
-
|
|
|
-//获取keyValue
|
|
|
-func GetRedisValue(key string, resp interface{}) (bool, interface{}) {
|
|
|
- db, err := beego.AppConfig.Int("AliRedisDb")
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return false, ""
|
|
|
- }
|
|
|
- client := redis.NewClient(&redis.Options{
|
|
|
- Addr: beego.AppConfig.String("AliRedisHost"),
|
|
|
- Password: beego.AppConfig.String("AliRedisPwd"), //默认空密码
|
|
|
- DB: db, //使用默认数据库
|
|
|
- })
|
|
|
- defer client.Close() //最后关闭
|
|
|
- _, err = client.Ping().Result()
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return false, ""
|
|
|
- }
|
|
|
- val, err := client.Get(key).Result()
|
|
|
- if err != nil {
|
|
|
- return false, ""
|
|
|
- }
|
|
|
- //beego.BeeLogger.Info("result 返回字符:%s", val)
|
|
|
- err = json.Unmarshal([]byte(val), &resp)
|
|
|
- if err != nil {
|
|
|
- return false, ""
|
|
|
- }
|
|
|
- return true, resp
|
|
|
-}
|
|
|
-
|
|
|
-//保存redis队列
|
|
|
-func ThrowInRedisList(key, value string) {
|
|
|
- db, err := beego.AppConfig.Int("AliRedisDb")
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return
|
|
|
- }
|
|
|
- client := redis.NewClient(&redis.Options{
|
|
|
- Addr: beego.AppConfig.String("AliRedisHost"),
|
|
|
- Password: beego.AppConfig.String("AliRedisPwd"), //默认空密码
|
|
|
- DB: db, //使用默认数据库
|
|
|
- })
|
|
|
- beego.BeeLogger.Info("Connect redis name (%s), pwd=%s", beego.AppConfig.String("AliRedisHost"), beego.AppConfig.String("AliRedisPwd"))
|
|
|
- defer client.Close() //最后关闭
|
|
|
- _, err = client.Ping().Result()
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return
|
|
|
- }
|
|
|
- beego.BeeLogger.Info("throwin redis key (%s), value=%s", key, value)
|
|
|
-
|
|
|
- client.LPush(key, value) //rpush则在尾部插入
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-//从redis队列剔除
|
|
|
-func ThrowOutRedisList(key, value string) {
|
|
|
- db, err := beego.AppConfig.Int("AliRedisDb")
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return
|
|
|
- }
|
|
|
- client := redis.NewClient(&redis.Options{
|
|
|
- Addr: beego.AppConfig.String("AliRedisHost"),
|
|
|
- Password: beego.AppConfig.String("AliRedisPwd"), //默认空密码
|
|
|
- DB: db, //使用默认数据库
|
|
|
- })
|
|
|
- beego.BeeLogger.Info("Connect redis name (%s), pwd=%s", beego.AppConfig.String("AliRedisHost"), beego.AppConfig.String("AliRedisPwd"))
|
|
|
- defer client.Close() //最后关闭
|
|
|
- _, err = client.Ping().Result()
|
|
|
- if err != nil {
|
|
|
- beego.BeeLogger.Error("%s", err)
|
|
|
- return
|
|
|
- }
|
|
|
- client.LRem(key, 0, value)
|
|
|
- beego.BeeLogger.Info("throwout redis key (%s), value=%s", key, value)
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-func GetKeyByOrderId(orderId string) string {
|
|
|
- return fmt.Sprintf("mall:order:info:%s", orderId)
|
|
|
-}
|
|
|
-
|
|
|
-//所有未支付普通订单加入队列,用作倒计到时取消
|
|
|
-func GetOrderCancelList() string {
|
|
|
- return fmt.Sprintf("mall:cancelorder")
|
|
|
-}
|
|
|
-
|
|
|
-//所有自动提现订单加入队列,自动提现
|
|
|
-func GetAutoTakeCashList() string {
|
|
|
- return fmt.Sprintf("mall:takecash")
|
|
|
-}
|