Selaa lähdekoodia

修改微信模板消息推送

tuoling805 1 vuosi sitten
vanhempi
commit
41b12dbe58
3 muutettua tiedostoa jossa 38 lisäystä ja 17 poistoa
  1. 15 0
      models/tables/wx_user/query.go
  2. 1 1
      services/voice_broadcast.go
  3. 22 16
      services/wechat/template_msg.go

+ 15 - 0
models/tables/wx_user/query.go

@@ -61,3 +61,18 @@ func ModifyQaAvatarUrl(qaAvatarUrl string, userId uint64) (err error) {
 	err = global.DEFAULT_MYSQL.Model(WxUser{}).Where("user_id=?", userId).Update("qa_avatar_url", qaAvatarUrl).Error
 	return err
 }
+
+func GetOpenIdArrByVarietyTag(varietyTagId int) (items []string, err error) {
+	sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu 
+INNER JOIN company AS c ON c.company_id = wu.company_id 
+INNER JOIN company_product AS d ON c.company_id=d.company_id
+INNER JOIN user_record  AS ur ON wu.user_id=ur.user_id
+INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
+INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
+INNER JOIN variety_tag AS g ON f.chart_permission_id=g.chart_permission_id
+WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND  d.status IN('正式','试用','永续')
+AND g.variety_tag_id=?
+ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC  `
+	err = global.DEFAULT_MYSQL.Raw(sql,varietyTagId).Scan(&items).Error
+	return
+}

+ 1 - 1
services/voice_broadcast.go

@@ -212,7 +212,7 @@ func SendBroadcastMsg(broadcastId, userId int) (errMsg string, err error) {
 	}
 	// 推送模板消息
 	go func() {
-		_ = wechat.SendVoiceBroadcastWxMsg(broadcast.BroadcastId, broadcast.SectionName, broadcast.BroadcastName)
+		_ = wechat.SendVoiceBroadcastWxMsg(broadcast.BroadcastId,broadcast.VarietyId, broadcast.SectionName, broadcast.BroadcastName)
 	}()
 	// 推送客群消息
 	go func() {

+ 22 - 16
services/wechat/template_msg.go

@@ -320,7 +320,7 @@ func SendQuestionReplyWxMsg(questionId, userId int, questionTitle string) (err e
 }
 
 // SendVoiceBroadcastWxMsg 推送研报小程序模板消息-语音播报
-func SendVoiceBroadcastWxMsg(broadcastId int, sectionName, broadcastName string) (err error) {
+func SendVoiceBroadcastWxMsg(broadcastId,varietyId int, sectionName, broadcastName string) (err error) {
 	var errMsg string
 	defer func() {
 		if err != nil {
@@ -329,17 +329,19 @@ func SendVoiceBroadcastWxMsg(broadcastId int, sectionName, broadcastName string)
 		}
 	}()
 
-	List, err := wx_user.GetOpenIdList()
-	if err != nil {
-		return
-	}
-	openIdList := make([]*OpenIdList, 0)
-	for _, item := range List {
-		openIdList = append(openIdList, &OpenIdList{
-			OpenId: item.OpenID,
-			UserId: item.UserID,
-		})
-	}
+	openIdArr,err:=wx_user.GetOpenIdArrByVarietyTag(varietyId)
+
+	//List, err := wx_user.GetOpenIdList()
+	//if err != nil {
+	//	return
+	//}
+	//openIdList := make([]*OpenIdList, 0)
+	//for _, item := range List {
+	//	openIdList = append(openIdList, &OpenIdList{
+	//		OpenId: item.OpenID,
+	//		UserId: item.UserID,
+	//	})
+	//}
 	//openIdList = append(openIdList, &OpenIdList{
 	//			OpenId: "oN0jD1cuiBLxV1IRpu74_oHnoOjk",
 	//			UserId: 52709,
@@ -370,10 +372,10 @@ func SendVoiceBroadcastWxMsg(broadcastId int, sectionName, broadcastName string)
 	//}
 	//err = SendMultiTemplateMsgNoReturn(sendMap, openIdList, wxAppPath, utils.TEMPLATE_MSG_YB_VOICE_BROADCAST)
 
-	openIdArr := make([]string, len(openIdList))
-	for i, v := range openIdList {
-		openIdArr[i] = v.OpenId
-	}
+	//openIdArr := make([]string, len(openIdList))
+	//for i, v := range openIdList {
+	//	openIdArr[i] = v.OpenId
+	//}
 
 	// 获取小程序配置
 	appConf, err := wx_app.GetWxAppConf()
@@ -381,6 +383,10 @@ func SendVoiceBroadcastWxMsg(broadcastId int, sectionName, broadcastName string)
 		return
 	}
 
+	//openIdArr := make([]string, len(openIdList))
+	//for i, v := range openIdList {
+	//	openIdArr[i] = v.OpenId
+	//}
 	sendInfo := new(SendWxTemplate)
 	sendInfo.WxAppId = WxAppId
 	sendInfo.First = first