|
@@ -90,6 +90,8 @@ func SendWxTemplateMsg(sendInfo *models.SendWxTemplate) (err error) {
|
|
|
xcxAppId = utils.WxCrmAppId
|
|
|
} else if sendInfo.RedirectTarget == 3 {
|
|
|
xcxAppId = utils.WxCygxAppId
|
|
|
+ } else if sendInfo.RedirectTarget == 4 {
|
|
|
+ xcxAppId = utils.WxCopyYbAppId
|
|
|
} else {
|
|
|
err = errors.New("无效的微信小程序跳转方式:RedirectTarget" + strconv.Itoa(sendInfo.RedirectTarget))
|
|
|
}
|
|
@@ -147,7 +149,7 @@ func sendTemplateMsg(sendMap map[string]interface{}, openIdArr []string, resourc
|
|
|
utils.FileLog.Info(fmt.Sprintf("SendTemplateMsgOne Marshal Err:%s", err.Error()))
|
|
|
return err
|
|
|
}
|
|
|
- err = toSendTemplateMsg( data, resource, sendType, openId, uniqueCode)
|
|
|
+ err = toSendTemplateMsg(data, resource, sendType, openId, uniqueCode)
|
|
|
if err != nil {
|
|
|
fmt.Println("send err:", err.Error())
|
|
|
utils.FileLog.Info(fmt.Sprintf("ToSendTemplateMsg Err:%s", err.Error()))
|
|
@@ -162,9 +164,9 @@ func sendTemplateMsg(sendMap map[string]interface{}, openIdArr []string, resourc
|
|
|
func toSendTemplateMsg(data []byte, resource string, sendType int, openId, uniqueCode string) (err error) {
|
|
|
utils.FileLog.Info("Send:" + string(data))
|
|
|
|
|
|
- accessToken, err,errMsg := getWxAccessToken()
|
|
|
+ accessToken, err, errMsg := getWxAccessToken()
|
|
|
if err != nil {
|
|
|
- utils.FileLog.Info(fmt.Sprintf("获取Token失败,err:%s,errMsg:%s",err.Error(), errMsg))
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("获取Token失败,err:%s,errMsg:%s", err.Error(), errMsg))
|
|
|
return
|
|
|
}
|
|
|
sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
@@ -209,10 +211,10 @@ func toSendTemplateMsg(data []byte, resource string, sendType int, openId, uniqu
|
|
|
}
|
|
|
|
|
|
|
|
|
- if templateResponse.Errcode == 40001{
|
|
|
+ if templateResponse.Errcode == 40001 {
|
|
|
|
|
|
- accessToken,err,errMsg = refreshWxAccessToken()
|
|
|
- if err != nil{
|
|
|
+ accessToken, err, errMsg = refreshWxAccessToken()
|
|
|
+ if err != nil {
|
|
|
utils.FileLog.Info(fmt.Sprintf("refreshWxAccessToken Err:%s", err.Error()))
|
|
|
return err
|
|
|
}
|
|
@@ -268,7 +270,7 @@ func toSendTemplateMsg(data []byte, resource string, sendType int, openId, uniqu
|
|
|
}
|
|
|
|
|
|
|
|
|
-func getWxAccessToken()(accessToken string,err error,errMsg string){
|
|
|
+func getWxAccessToken() (accessToken string, err error, errMsg string) {
|
|
|
accessToken, err = utils.Rc.RedisString(utils.CACHE_WX_ACCESS_TOKEN_HZ)
|
|
|
|
|
|
|
|
@@ -278,7 +280,7 @@ func getWxAccessToken()(accessToken string,err error,errMsg string){
|
|
|
|
|
|
|
|
|
|
|
|
- if accessToken != ""{
|
|
|
+ if accessToken != "" {
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -287,7 +289,7 @@ func getWxAccessToken()(accessToken string,err error,errMsg string){
|
|
|
}
|
|
|
|
|
|
|
|
|
-func refreshWxAccessToken()(accessToken string,err error,errMsg string){
|
|
|
+func refreshWxAccessToken() (accessToken string, err error, errMsg string) {
|
|
|
fmt.Println("强制刷新微信token")
|
|
|
|
|
|
wxAccessToken, tmpErr := models.GetWxToken()
|
|
@@ -304,23 +306,22 @@ func refreshWxAccessToken()(accessToken string,err error,errMsg string){
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
accessToken = wxAccessToken.AccessToken
|
|
|
|
|
|
expiresIn := time.Now().Add(time.Duration(wxAccessToken.ExpiresIn) * time.Second).Unix()
|
|
|
- err = models.ModifyAccessToken(wxAccessToken.AccessToken,expiresIn)
|
|
|
- if err!=nil{
|
|
|
+ err = models.ModifyAccessToken(wxAccessToken.AccessToken, expiresIn)
|
|
|
+ if err != nil {
|
|
|
errMsg = "更新mysql中的accessToken失败 Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
|
|
|
- redisTimeExpire := time.Duration(wxAccessToken.ExpiresIn - 600) * time.Second
|
|
|
- err = utils.Rc.Put(utils.CACHE_WX_ACCESS_TOKEN_HZ,accessToken,redisTimeExpire)
|
|
|
- if err!=nil{
|
|
|
+ redisTimeExpire := time.Duration(wxAccessToken.ExpiresIn-600) * time.Second
|
|
|
+ err = utils.Rc.Put(utils.CACHE_WX_ACCESS_TOKEN_HZ, accessToken, redisTimeExpire)
|
|
|
+ if err != nil {
|
|
|
errMsg = "更新redis中的accessToken失败 Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
return
|
|
|
-}
|
|
|
+}
|