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)) token = string(utils.MustMarshal(weimobToken))
} }
case EventTypePushToken: case EventTypePushToken:
token = api.PushAPI.CBGetToken() //token = api.PushAPI.CBGetToken()
} }
if token != oldToken { if token != oldToken {

View File

@@ -138,60 +138,6 @@ func RefreshWeixinToken() (err error) {
return err 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) { func RefreshWeimobToken() (err error) {
if api.WeimobAPI != nil { if api.WeimobAPI != nil {
err = RefreshConfig("weimob", weimobTokenExpires, func() (token string, expireTimeStr string) { err = RefreshConfig("weimob", weimobTokenExpires, func() (token string, expireTimeStr string) {

View File

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

View File

@@ -16,8 +16,6 @@ import (
"git.rosy.net.cn/baseapi/platformapi/mtmemberapi" "git.rosy.net.cn/baseapi/platformapi/mtmemberapi"
"git.rosy.net.cn/baseapi/platformapi/unipushapi"
"git.rosy.net.cn/baseapi/platformapi/jdshopapi" "git.rosy.net.cn/baseapi/platformapi/jdshopapi"
"git.rosy.net.cn/baseapi/platformapi/aliupcapi" "git.rosy.net.cn/baseapi/platformapi/aliupcapi"
@@ -82,7 +80,7 @@ var (
AliUpcAPI *aliupcapi.API //阿里商品条码查询api AliUpcAPI *aliupcapi.API //阿里商品条码查询api
EjyAPI *ejyapi.API //易加油 EjyAPI *ejyapi.API //易加油
PushAPI *unipushapi.API //PushAPI *unipushapi.API
Cacher cache.ICacher Cacher cache.ICacher
SMSClient *aliyunsmsclient.SmsClient SMSClient *aliyunsmsclient.SmsClient
@@ -163,7 +161,7 @@ func Init() {
AliPayAPI = alipayapi.New(alipayAppID, []byte(beego.AppConfig.String("alipayPrivateKey"))) AliPayAPI = alipayapi.New(alipayAppID, []byte(beego.AppConfig.String("alipayPrivateKey")))
} }
EjyAPI = ejyapi.New(beego.AppConfig.DefaultString("ejyPlatName", ""), beego.AppConfig.DefaultString("ejyBeforeKey", ""), beego.AppConfig.DefaultString("ejyAfterKey", "")) EjyAPI = ejyapi.New(beego.AppConfig.DefaultString("ejyPlatName", ""), beego.AppConfig.DefaultString("ejyBeforeKey", ""), beego.AppConfig.DefaultString("ejyAfterKey", ""))
PushAPI = unipushapi.New(beego.AppConfig.DefaultString("pushAppID", ""), beego.AppConfig.DefaultString("pushAppKey", ""), beego.AppConfig.DefaultString("pushAppSecret", ""), beego.AppConfig.DefaultString("pushMasterSecret", "")) //PushAPI = unipushapi.New(beego.AppConfig.DefaultString("pushAppID", ""), beego.AppConfig.DefaultString("pushAppKey", ""), beego.AppConfig.DefaultString("pushAppSecret", ""), beego.AppConfig.DefaultString("pushMasterSecret", ""))
MtMemberAPI = mtmemberapi.New() MtMemberAPI = mtmemberapi.New()
SMSClient = aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/") SMSClient = aliyunsmsclient.New("http://dysmsapi.aliyuncs.com/")