im
This commit is contained in:
10
business/jxutils/cache/cache.go
vendored
10
business/jxutils/cache/cache.go
vendored
@@ -11,4 +11,14 @@ type ICacher interface {
|
||||
Get(key string) interface{}
|
||||
GetAs(key string, ptr interface{}) error
|
||||
Keys(prefix string) ([]string, error)
|
||||
|
||||
FlushDB() error
|
||||
Incr(key string) error
|
||||
LRange(key string) (retVal []string)
|
||||
Exists(keys ...string) (int64, error)
|
||||
RPush(key string, value interface{}) error
|
||||
Expire(key string, expiration time.Duration) error
|
||||
LRem(key string, count int, value interface{}) error
|
||||
LSet(key string, index int, value interface{}) error
|
||||
ExpireResult(key string, expiration time.Duration) (bool, error)
|
||||
}
|
||||
|
||||
44
business/jxutils/cache/redis/redis.go
vendored
44
business/jxutils/cache/redis/redis.go
vendored
@@ -73,3 +73,47 @@ func (c *Cacher) GetAs(key string, ptr interface{}) error {
|
||||
func (c *Cacher) Keys(prefix string) ([]string, error) {
|
||||
return c.client.Keys(prefix + "*").Result()
|
||||
}
|
||||
|
||||
func (c *Cacher) RPush(key string, value interface{}) error {
|
||||
return c.client.RPush(key, value).Err()
|
||||
}
|
||||
|
||||
func (c *Cacher) FlushDB() error {
|
||||
return c.client.FlushDB().Err()
|
||||
}
|
||||
|
||||
func (c *Cacher) Expire(key string, expiration time.Duration) error {
|
||||
return c.client.Expire(key, expiration).Err()
|
||||
}
|
||||
|
||||
func (c *Cacher) ExpireResult(key string, expiration time.Duration) (bool, error) {
|
||||
ok, err := c.client.Expire(key, expiration).Result()
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return ok, nil
|
||||
}
|
||||
|
||||
func (c *Cacher) Exists(keys ...string) (int64, error) {
|
||||
ret := c.client.Exists(keys...)
|
||||
return ret.Val(), ret.Err()
|
||||
}
|
||||
|
||||
func (c *Cacher) Incr(key string) error {
|
||||
return c.client.Incr(key).Err()
|
||||
}
|
||||
|
||||
func (c *Cacher) LRange(key string) (retVal []string) {
|
||||
if c.client.LLen(key).Val() > 0 {
|
||||
retVal = c.client.LRange(key, 0, -1).Val()
|
||||
}
|
||||
return retVal
|
||||
}
|
||||
|
||||
func (c *Cacher) LSet(key string, index int, value interface{}) error {
|
||||
return c.client.LSet(key, int64(index), value).Err()
|
||||
}
|
||||
|
||||
func (c *Cacher) LRem(key string, count int, value interface{}) error {
|
||||
return c.client.LRem(key, int64(count), value).Err()
|
||||
}
|
||||
|
||||
2
business/jxutils/cache/redis/redis_test.go
vendored
2
business/jxutils/cache/redis/redis_test.go
vendored
@@ -13,7 +13,7 @@ var (
|
||||
|
||||
func init() {
|
||||
testinit1.Init()
|
||||
cacher = New("localhost", 6379, "")
|
||||
cacher = New("localhost", 6379, "123456") //ysq本地redis
|
||||
}
|
||||
|
||||
type TestType struct {
|
||||
|
||||
@@ -4,9 +4,10 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/authz/autils"
|
||||
"git.rosy.net.cn/jx-callback/globals/api2"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
@@ -19,6 +20,7 @@ const (
|
||||
SoundsFileNewOrder = "newOrder.caf"
|
||||
SoundsFileNewAfsOrder = "afsOrder.caf"
|
||||
SoundsFileNewCancelOrder = "cancelOrder.caf"
|
||||
SoundsFileNewImMsg = "" //TODO 待定
|
||||
)
|
||||
|
||||
// NotifyNewOrder 推送新订单
|
||||
@@ -108,6 +110,43 @@ func NotifyOrderCanceled(order *model.GoodsOrder) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// NotifyImNewMessage IM 新消息通知
|
||||
func NotifyImNewMessage(vendorStoreID string, vendorID int) error {
|
||||
if len(vendorStoreID) == 0 {
|
||||
return nil
|
||||
}
|
||||
var (
|
||||
temp = 0
|
||||
msg = MsgContext{}
|
||||
)
|
||||
if vendorID == 10 { //美团
|
||||
temp = 1
|
||||
} else if vendorID == 11 { //饿了么
|
||||
temp = 3
|
||||
}
|
||||
|
||||
store, err := dao.GetStoreBaseByVendorStoreID(vendorStoreID, temp)
|
||||
if err != nil {
|
||||
return fmt.Errorf("未查到此门店:%s", vendorStoreID)
|
||||
}
|
||||
|
||||
cid, err := GetStoreBoosCID(store.ID)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Errorf("IM消息推送,获取门店老板CID错误 %v", err)
|
||||
return err
|
||||
}
|
||||
fmt.Print(cid)
|
||||
msg.MsgType = "newImMsg"
|
||||
msg.VendorName = model.VendorChineseNames[temp]
|
||||
msg.StoreTitle = store.Name
|
||||
msg.Context = "老板,你有新的用户消息,请及时查看!"
|
||||
context, _ := json.Marshal(msg)
|
||||
body := fmt.Sprintf(msg.Context+"(%s)", model.VendorChineseNames[temp])
|
||||
|
||||
pushMsgByUniApp(store.ID, store.Name, cid, string(context), body, SoundsFileNewImMsg)
|
||||
return err
|
||||
}
|
||||
|
||||
// GetStoreBoosCID /************************************************************/
|
||||
func GetStoreBoosCID(storeId int) ([]string, error) {
|
||||
// 根据订单获取门店的老板cid
|
||||
|
||||
Reference in New Issue
Block a user