Parcourir la source

fix:东吴模板消息地址

zqbao il y a 8 mois
Parent
commit
d3a9ab8402
3 fichiers modifiés avec 76 ajouts et 2 suppressions
  1. 58 0
      services/third/dw_msg.go
  2. 6 1
      services/wechat_send_msg.go
  3. 12 1
      utils/config.go

+ 58 - 0
services/third/dw_msg.go

@@ -0,0 +1,58 @@
+package third
+
+import (
+	"encoding/json"
+	"errors"
+	"eta/eta_api/models"
+	"eta/eta_api/utils"
+	"fmt"
+	"io"
+	"net/http"
+	"time"
+)
+
+func HttpGet(url string) (body []byte, err error) {
+	client := &http.Client{}
+	req, err := http.NewRequest("GET", url, nil)
+	if err != nil {
+		return
+	}
+	nonce := utils.GetRandStringNoSpecialChar(16)
+	timestamp := time.Now().Format(utils.FormatDateTimeUnSpace)
+	signature := utils.GetSign(nonce, timestamp, utils.ETA_MINI_APPID, utils.ETA_MINI_APP_SECRET)
+	//增加header选项
+	req.Header.Add("Nonce", nonce)
+	req.Header.Add("Timestamp", timestamp)
+	req.Header.Add("Appid", utils.ETA_MINI_APPID)
+	req.Header.Add("Signature", signature)
+	req.Header.Set("Content-Type", "application/json")
+
+	response, err := client.Do(req)
+	if err != nil {
+		return
+	}
+	defer response.Body.Close()
+
+	body, err = io.ReadAll(response.Body)
+	if err != nil {
+		return
+	}
+	return
+}
+
+func DwSendTemplatedMsg(reportId int) error {
+	url := fmt.Sprintf("%swechat/send_template_msg?ReportId=%d", utils.ETAMiniBridgeUrl, reportId)
+	body, err := HttpGet(url)
+	if err != nil {
+		return err
+	}
+	result := new(models.BaseResponse)
+	if err := json.Unmarshal(body, &result); err != nil {
+		return err
+	}
+	if result.Ret != 200 {
+		err = errors.New(string(body))
+		return err
+	}
+	return nil
+}

+ 6 - 1
services/wechat_send_msg.go

@@ -3,10 +3,11 @@ package services
 import (
 import (
 	"encoding/json"
 	"encoding/json"
 	"errors"
 	"errors"
-	"fmt"
 	"eta/eta_api/models"
 	"eta/eta_api/models"
 	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/services/alarm_msg"
+	"eta/eta_api/services/third"
 	"eta/eta_api/utils"
 	"eta/eta_api/utils"
+	"fmt"
 	"io/ioutil"
 	"io/ioutil"
 	"net/http"
 	"net/http"
 	"strconv"
 	"strconv"
@@ -28,6 +29,10 @@ type ClearQuotaResponse struct {
 func SendMiniProgramReportWxMsg(reportId int) (err error) {
 func SendMiniProgramReportWxMsg(reportId int) (err error) {
 	var msg string
 	var msg string
 	reportIdStr := strconv.Itoa(reportId)
 	reportIdStr := strconv.Itoa(reportId)
+	if utils.ETAMiniBridgeUrl != "" {
+		err = third.DwSendTemplatedMsg(reportId)
+		return
+	}
 	defer func() {
 	defer func() {
 		if err != nil {
 		if err != nil {
 			fmt.Println("msg:", msg)
 			fmt.Println("msg:", msg)

+ 12 - 1
utils/config.go

@@ -3,11 +3,12 @@ package utils
 import (
 import (
 	"errors"
 	"errors"
 	"fmt"
 	"fmt"
+	"strconv"
+
 	beeLogger "github.com/beego/bee/v2/logger"
 	beeLogger "github.com/beego/bee/v2/logger"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/qiniu/qmgo"
 	"github.com/qiniu/qmgo"
 	"github.com/spf13/viper"
 	"github.com/spf13/viper"
-	"strconv"
 )
 )
 
 
 var (
 var (
@@ -98,6 +99,10 @@ var (
 	EtaBridgeDesKey    string // 桥接服务Des密钥-解密数据用
 	EtaBridgeDesKey    string // 桥接服务Des密钥-解密数据用
 	EtaBridgeLoginUrl  string // 第三方登录鉴权接口地址
 	EtaBridgeLoginUrl  string // 第三方登录鉴权接口地址
 	EtaBridgeLogoutUrl string // 第三方登出接口地址
 	EtaBridgeLogoutUrl string // 第三方登出接口地址
+
+	ETAMiniBridgeUrl    string // 桥接服务地址
+	ETA_MINI_APPID      string // 桥接服务-鉴权用
+	ETA_MINI_APP_SECRET string // 桥接服务-鉴权用
 )
 )
 
 
 // 微信配置信息
 // 微信配置信息
@@ -534,6 +539,12 @@ func init() {
 	}
 	}
 	// 商家编码
 	// 商家编码
 	BusinessCode = config["business_code"]
 	BusinessCode = config["business_code"]
+	// eta_mini_bridge 小程序桥接服务地址
+	{
+		ETAMiniBridgeUrl = config["eta_mini_bridge_url"]
+		ETA_MINI_APPID = config["eta_mini_bridge_appid"]       // 桥接服务-鉴权用
+		ETA_MINI_APP_SECRET = config["eta_mini_bridge_secret"] // 桥接服务-鉴权用
+	}
 
 
 	// MinIo相关
 	// MinIo相关
 	{
 	{