|
@@ -3,6 +3,7 @@ package services
|
|
|
import (
|
|
|
"bytes"
|
|
|
"encoding/json"
|
|
|
+ "errors"
|
|
|
"fmt"
|
|
|
"hongze/hongze_mfyx/models"
|
|
|
"hongze/hongze_mfyx/utils"
|
|
@@ -205,3 +206,79 @@ func SendTemplateMsg(sendUrl string, data []byte, resource string, sendType int,
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// 发送用户留言提醒
|
|
|
+// func SendCommentWxTemplateMsg(title, companyName, userName, sellerName, createTime, content string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
|
+func SendCommentWxTemplateMsg(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 first string
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var remark string
|
|
|
+ var redirectUrl string
|
|
|
+ var mobile string
|
|
|
+
|
|
|
+ first = "【" + articleInfo.Title + "】有新的留言,请及时处理"
|
|
|
+ keyword1 = user.CompanyName + "——" + user.RealName + "(" + companyItem.SellerName + ")"
|
|
|
+ keyword2 = "留言:" + articleInfo.Title
|
|
|
+ keyword3 = time.Now().Format(utils.FormatDateTime)
|
|
|
+ keyword4 = req.Content
|
|
|
+ remark = "点击查看报告详情"
|
|
|
+ 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(SendWxTemplate)
|
|
|
+ sendInfo.First = first
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
+ sendInfo.Remark = remark
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdAskMsgXzs
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.Resource = strconv.Itoa(req.ArticleId)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_COMMENT
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|