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/")