|
@@ -85,18 +85,22 @@ func SendWxCategoryMsgWithActivityUserRemind(keyWord1, keyWord2 string, openIdLi
|
|
|
msg = "accessToken is empty"
|
|
|
return
|
|
|
}
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
var keywords []string
|
|
|
keywords = append(keywords, keyWord1, keyWord2)
|
|
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
- templateId := utils.WxMsgCategoryTemplateIdArticleUserRemind
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
- sendData := make(map[string]interface{})
|
|
|
- sendMap["template_id"] = templateId
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityId)}
|
|
|
- sendData["keywords"] = map[string]interface{}{"value": keywords, "color": "#173177"}
|
|
|
- sendMap["data"] = sendData
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdArticleUserRemind
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+
|
|
|
+ //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityId)}
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -183,20 +187,23 @@ func SendNeiRongZuActivitieSignCategoryTemplateMsg(user *models.WxUserItem, acti
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
var keywords []string
|
|
|
keywords = append(keywords, user.RealName, user.CompanyName,
|
|
|
sellerItemQy.RealName, time.Now().Format(utils.FormatDateTimeMinute2),
|
|
|
"报名"+"【"+activityDetail.ActivityName+"】")
|
|
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
- templateId := utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
- sendData := make(map[string]interface{})
|
|
|
- sendMap["template_id"] = templateId
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityDetail.ActivityId)}
|
|
|
- sendData["keywords"] = map[string]interface{}{"value": keywords, "color": "#173177"}
|
|
|
- sendMap["data"] = sendData
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityDetail.ActivityId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
+ //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityDetail.ActivityId)}
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -234,19 +241,134 @@ func SendActivitieCancelSignCategoryTemplateMsg(user *models.WxUserItem, activit
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+
|
|
|
var keywords []string
|
|
|
keywords = append(keywords, user.RealName, user.CompanyName,
|
|
|
sellerItemQy.RealName, time.Now().Format(utils.FormatDateTimeMinute2),
|
|
|
"取消报名"+"【"+activityDetail.ActivityName+"】")
|
|
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
- templateId := utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
- sendData := make(map[string]interface{})
|
|
|
- sendMap["template_id"] = templateId
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId}
|
|
|
- sendData["keywords"] = map[string]interface{}{"value": keywords, "color": "#173177"}
|
|
|
- sendMap["data"] = sendData
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityDetail.ActivityId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
+ //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId}
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
return
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+// 发送用户留言提醒
|
|
|
+func SendCommentWxCategoryTemplateMsg(req models.AddCygxArticleCommentReq, user *models.WxUserItem, articleInfo *models.ArticleDetail, msgId int) (err error) {
|
|
|
+ var msg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendEmail("发送类目模版消息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("发送用户用户留言提醒失败,文章ID:", req.ArticleId), 2)
|
|
|
+ utils.FileLog.Info("发送类目模版消息失败,Err:%s", err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ companyItem, e := models.GetSellerDetailAllByCompanyId(user.CompanyId)
|
|
|
+ if e != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if companyItem == nil {
|
|
|
+ msg = "获取客户所属销售信息失败,UserID:" + strconv.Itoa(user.UserId)
|
|
|
+ }
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var redirectUrl string
|
|
|
+ var mobile string
|
|
|
+
|
|
|
+ var keywords []string
|
|
|
+ keyword1 = user.RealName
|
|
|
+ keyword2 = companyItem.SellerName
|
|
|
+ keyword3 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ keyword4 = "报告留言:"+req.Content
|
|
|
+ keywords = append(keywords, keyword1, keyword2, keyword3, keyword4)
|
|
|
+
|
|
|
+ if articleInfo.ArticleTypeId > 0 {
|
|
|
+ //研选报告添加汪洋
|
|
|
+ mobile = companyItem.Mobile + "," + utils.WxMsgTemplateIdAskMsgMobilePublic + "," + utils.ActSendMsgMobile
|
|
|
+ } else {
|
|
|
+ mobile = companyItem.Mobile + "," + utils.WxMsgTemplateIdAskMsgMobilePublic
|
|
|
+ }
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileList(mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ //mapSource留言跳转类型,1:文章、2:活动、3:微路演视频、4:活动视频、5:活动音频
|
|
|
+ if utils.RunMode != "release" {
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_ARTICLE_DETAIL + strconv.Itoa(articleInfo.ArticleId)
|
|
|
+ } else {
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_TEMPLATE_MSG + "SourceId=" + strconv.Itoa(msgId) + "&SourceType=1"
|
|
|
+ }
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 发送报告提问消息提醒
|
|
|
+func SendWxCategoryMsgWithAsk(companyName,realName,sellerName, askTime, askMsg string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var msg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendEmail("发送类目模版消息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("发送报告提问消息提醒类目模版消息失败,用户名", realName, "文章ID:", articleId), 2)
|
|
|
+ utils.FileLog.Info("发送类目模版消息失败,Err:%s", err.Error())
|
|
|
+ }
|
|
|
+ fmt.Println("line 21", err, msg)
|
|
|
+ }()
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var keyword5 string
|
|
|
+
|
|
|
+ keyword1 = realName
|
|
|
+ keyword2 = companyName
|
|
|
+ keyword3 = sellerName
|
|
|
+ keyword4 = askTime
|
|
|
+ keyword4 = "活动提问:" + askMsg
|
|
|
+
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4, keyword5}
|
|
|
+
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_ARTICLE_DETAIL + strconv.Itoa(articleId)
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ return
|
|
|
+}
|