This commit is contained in:
邹宗楠
2023-03-21 15:23:21 +08:00
parent 59e117ad7c
commit 6d1c31066e
4 changed files with 80 additions and 149 deletions

View File

@@ -106,7 +106,7 @@ func (h *Hub) GetToken(tokenType, oldToken string, waitTime time.Duration) (toke
token = string(utils.MustMarshal(weimobToken))
}
case EventTypePushToken:
token = api.PushAPI.CBGetToken()
//token = api.PushAPI.CBGetToken()
}
if token != oldToken {

View File

@@ -138,60 +138,6 @@ func RefreshWeixinToken() (err error) {
return err
}
func RefreshPushToken() (err error) {
if api.PushAPI != nil {
err = RefreshConfig("push", pushTokenExpires, func() (token string, expireTimeStr string) {
globals.SugarLogger.Debugf("RefreshPushToken RunMode:%s", beego.BConfig.RunMode)
if globals.IsMainProductEnv() {
if tokenInfo, err := api.PushAPI.CBRetrieveToken(); err == nil {
globals.SugarLogger.Debugf("RefreshPushToken tokenInfo:%s", utils.Format4Output(tokenInfo, true))
token = tokenInfo.Token
} else {
globals.SugarLogger.Errorf("RefreshPushToken RefreshToken failed with error:%v", err)
}
} else {
if tokenInfo := getPushTokenFromRemote(api.PushAPI.CBGetToken()); tokenInfo != nil {
expireTimeStr = utils.Time2Str(time.Now().Add(-pushTokenExpires))
token = tokenInfo.Token
}
}
return token, expireTimeStr
}, func(value string) {
globals.SugarLogger.Debugf("RefreshPushToken setter value:%s", value)
syseventhub.SysEventHub.OnNewPushToken(value)
api.PushAPI.CBSetToken(value)
})
}
return err
}
func RefreshWeixin3Token() (err error) {
// if api.WeixinMiniAPI3 != nil {
// err = RefreshConfig("wechat3", weixinTokenExpires, func() (token string, expireTimeStr string) {
// globals.SugarLogger.Debugf("RefreshWeixin3Token RunMode:%s", beego.BConfig.RunMode)
// if globals.IsMainProductEnv() {
// if tokenInfo, err := api.WeixinMiniAPI3.CBRetrieveToken(); err == nil {
// globals.SugarLogger.Debugf("RefreshWeixin3Token tokenInfo:%s", utils.Format4Output(tokenInfo, true))
// token = tokenInfo.AccessToken
// } else {
// globals.SugarLogger.Errorf("RefreshWeixin3Token RefreshToken failed with error:%v", err)
// }
// } else {
// if tokenInfo := getWX3TokenFromRemote(api.WeixinMiniAPI3.CBGetToken()); tokenInfo != nil {
// expireTimeStr = utils.Time2Str(time.Now().Add(-weixinTokenExpires))
// token = tokenInfo.Token
// }
// }
// return token, expireTimeStr
// }, func(value string) {
// globals.SugarLogger.Debugf("RefreshWeixinToken setter value:%s", value)
// syseventhub.SysEventHub.OnNewWX3Token(value)
// api.WeixinMiniAPI3.CBSetToken(value)
// })
// }
return err
}
func RefreshWeimobToken() (err error) {
if api.WeimobAPI != nil {
err = RefreshConfig("weimob", weimobTokenExpires, func() (token string, expireTimeStr string) {

View File

@@ -1,95 +1,82 @@
package push
import (
"fmt"
"strings"
"git.rosy.net.cn/baseapi/platformapi/unipushapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"github.com/astaxie/beego"
)
func pushToSingle(content, title string, storeID int) {
var (
db = dao.GetDB()
)
if !globals.IsProductEnv() {
return
}
storePushs, err := dao.GetStorePushClient(db, storeID, "")
if err != nil {
return
}
for _, v := range storePushs {
status, err2 := api.PushAPI.PushToSingle(v.ClientID, false, &unipushapi.Notification{
Title: title,
Body: content,
})
if err = err2; err != nil {
globals.SugarLogger.Debugf("NotifyNewOrder push error: [%v]", err)
continue
}
if status == unipushapi.SuccessOffLine {
_, err = api.PushAPI.PushToSingle(v.ClientID, true, &unipushapi.Notification{
Body: content,
})
if err != nil {
globals.SugarLogger.Debugf("NotifyNewOrder push2 error: [%v]", err)
continue
}
}
}
//var (
// db = dao.GetDB()
//)
//if !globals.IsProductEnv() {
// return
//}
//storePushs, err := dao.GetStorePushClient(db, storeID, "")
//if err != nil {
// return
//}
//for _, v := range storePushs {
//
// status, err2 := api.PushAPI.PushToSingle(v.ClientID, false, &unipushapi.Notification{
// Title: title,
// Body: content,
// })
// if err = err2; err != nil {
// globals.SugarLogger.Debugf("NotifyNewOrder push error: [%v]", err)
// continue
// }
// if status == unipushapi.SuccessOffLine {
// _, err = api.PushAPI.PushToSingle(v.ClientID, true, &unipushapi.Notification{
// Body: content,
// })
// if err != nil {
// globals.SugarLogger.Debugf("NotifyNewOrder push2 error: [%v]", err)
// continue
// }
// }
//
//}
}
func NotifyNewOrder(order *model.GoodsOrder) {
globals.SugarLogger.Debugf("NotifyNewOrder push begin orderID :[%v]", order.VendorOrderID)
sb := new(strings.Builder)
sb.WriteString("老板,")
sb.WriteString(order.ConsigneeName)
sb.WriteString("购买了商品")
sb.WriteString(getOrderDetailBrief(order))
pushToSingle(sb.String(), "京西菜市新订单推送", jxutils.GetSaleStoreIDFromOrder(order))
}
func getOrderDetailBrief(order *model.GoodsOrder) (brief string) {
sb := new(strings.Builder)
sb.WriteString(order.Skus[0].SkuName)
sb.WriteString("等共")
sb.WriteString(utils.Int2Str(order.Skus[0].Count))
sb.WriteString("份(")
sb.WriteString(jxutils.IntPrice2StandardString(order.Skus[0].SalePrice))
sb.WriteString("元/份)等,预计收入")
//TODO 2020-07-20 果园和菜市不同
var price int64
if beego.BConfig.RunMode == "jxgy" {
price = order.EarningPrice
} else {
if order.EarningType == model.EarningTypePoints {
price = order.ActualPayPrice
} else {
price = order.ShopPrice
}
}
sb.WriteString(jxutils.IntPrice2StandardString(price))
sb.WriteString("元")
return sb.String()
}
func NotifyAfsOrder(afsOrder *model.AfsOrder) (err error) {
globals.SugarLogger.Debugf("NotifyAfsOrder push begin orderID :[%v]", afsOrder.VendorOrderID)
pushToSingle("老板,您有新的售后单,请尽快处理!", "京西菜市售后单推送", jxutils.GetSaleStoreIDFromAfsOrder(afsOrder))
return err
}
func NotifyOrderCanceled(order *model.GoodsOrder) (err error) {
title := fmt.Sprintf("老板,您的订单%s第%d号订单, %s被取消了", model.VendorChineseNames[order.VendorID], order.OrderSeq, order.VendorOrderID)
pushToSingle(title, "京西菜市取消单推送", jxutils.GetSaleStoreIDFromOrder(order))
return err
}
//
//func NotifyNewOrder(order *model.GoodsOrder) {
// globals.SugarLogger.Debugf("NotifyNewOrder push begin orderID :[%v]", order.VendorOrderID)
// sb := new(strings.Builder)
// sb.WriteString("老板,")
// sb.WriteString(order.ConsigneeName)
// sb.WriteString("购买了商品")
// sb.WriteString(getOrderDetailBrief(order))
// pushToSingle(sb.String(), "京西菜市新订单推送", jxutils.GetSaleStoreIDFromOrder(order))
//}
//
//func getOrderDetailBrief(order *model.GoodsOrder) (brief string) {
// sb := new(strings.Builder)
// sb.WriteString(order.Skus[0].SkuName)
// sb.WriteString("等共")
// sb.WriteString(utils.Int2Str(order.Skus[0].Count))
// sb.WriteString("份(")
// sb.WriteString(jxutils.IntPrice2StandardString(order.Skus[0].SalePrice))
// sb.WriteString("元/份)等,预计收入")
// //TODO 2020-07-20 果园和菜市不同
// var price int64
// if beego.BConfig.RunMode == "jxgy" {
// price = order.EarningPrice
// } else {
// if order.EarningType == model.EarningTypePoints {
// price = order.ActualPayPrice
// } else {
// price = order.ShopPrice
// }
// }
// sb.WriteString(jxutils.IntPrice2StandardString(price))
// sb.WriteString("元")
// return sb.String()
//}
//
//func NotifyAfsOrder(afsOrder *model.AfsOrder) (err error) {
// globals.SugarLogger.Debugf("NotifyAfsOrder push begin orderID :[%v]", afsOrder.VendorOrderID)
// pushToSingle("老板,您有新的售后单,请尽快处理!", "京西菜市售后单推送", jxutils.GetSaleStoreIDFromAfsOrder(afsOrder))
// return err
//}
//
//func NotifyOrderCanceled(order *model.GoodsOrder) (err error) {
// title := fmt.Sprintf("老板,您的订单%s第%d号订单, %s被取消了", model.VendorChineseNames[order.VendorID], order.OrderSeq, order.VendorOrderID)
// pushToSingle(title, "京西菜市取消单推送", jxutils.GetSaleStoreIDFromOrder(order))
// return err
//}