|
@@ -207,232 +207,108 @@ func SendWxMsgWithCompanyRemind(first, keyword1, keyword2, remark string, openId
|
|
}
|
|
}
|
|
|
|
|
|
// 发送报告提问消息提醒
|
|
// 发送报告提问消息提醒
|
|
-func SendWxMsgWithArticleClassToAdmin(keyWord1, keyWord2, keyWord3, keyWord4 string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
|
|
|
|
+func SendWxMsgWithArticleClassToAdmin(keyword1, keyword2, keyword3, keyword4 string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
if len(openIdList) == 0 {
|
|
if len(openIdList) == 0 {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- var msg string
|
|
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
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:", articleId), 2)
|
|
go utils.SendAlarmMsg(fmt.Sprint("发送报告提问消息提醒模版消息失败,文章ID:", articleId), 2)
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
|
|
+
|
|
|
|
+ //sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
+ //templateId := utils.TemplateIdByProductXzs
|
|
|
|
+ //sendMap := make(map[string]interface{})
|
|
|
|
+ //sendData := make(map[string]interface{})
|
|
|
|
+ //sendMap["template_id"] = templateId
|
|
|
|
+ //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "pageMy/reportDetail/reportDetail?id=" + strconv.Itoa(articleId)}
|
|
|
|
+ //sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
+ //sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": "#173177"}
|
|
|
|
+ //sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": "#173177"}
|
|
|
|
+ //sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": "#173177"}
|
|
|
|
+ //sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": "#173177"}
|
|
|
|
+ //sendMap["data"] = sendData
|
|
|
|
+ //WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(articleId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
+
|
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
|
+ for _, v := range openIdList {
|
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
}
|
|
}
|
|
- var first string
|
|
|
|
- first = keyWord1
|
|
|
|
- keyword1 := keyWord2
|
|
|
|
- keyword2 := keyWord3
|
|
|
|
- keyword3 := keyWord4
|
|
|
|
- keyword4 := ""
|
|
|
|
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
- templateId := utils.TemplateIdByProductXzs
|
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
|
- sendData := make(map[string]interface{})
|
|
|
|
- sendMap["template_id"] = templateId
|
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "pageMy/reportDetail/reportDetail?id=" + strconv.Itoa(articleId)}
|
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": "#173177"}
|
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": "#173177"}
|
|
|
|
- sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": "#173177"}
|
|
|
|
- sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": "#173177"}
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(articleId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_ARTICLE_DETAIL + strconv.Itoa(articleId)
|
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
|
+
|
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
|
+
|
|
|
|
+ sendInfo.TemplateId = utils.TemplateIdByProductXzs
|
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
|
+ sendInfo.Resource = strconv.Itoa(articleId)
|
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
// 发送用户阅读报告消息提醒
|
|
// 发送用户阅读报告消息提醒
|
|
-func SendWxMsgWithArticleUserRemind(keyWord1, keyWord2 string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
|
|
|
|
+func SendWxMsgWithArticleUserRemind(keyword1, keyword2 string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
if len(openIdList) == 0 {
|
|
if len(openIdList) == 0 {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- var msg string
|
|
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
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:", articleId), 2)
|
|
go utils.SendAlarmMsg(fmt.Sprint("发送报告提问消息提醒模版消息失败,文章ID:", articleId), 2)
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- var first string
|
|
|
|
- first = keyWord1
|
|
|
|
- //keyword1 := keyWord2
|
|
|
|
- //keyword1 := keyWord2
|
|
|
|
- remark := "点击查看报告详情"
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
- templateId := utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
|
- sendData := make(map[string]interface{})
|
|
|
|
- sendMap["template_id"] = templateId
|
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": utils.WX_MSG_PATH_ARTICLE_DETAIL + strconv.Itoa(articleId)}
|
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyWord1, "color": "#173177"}
|
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyWord2, "color": "#173177"}
|
|
|
|
- sendData["remark"] = map[string]interface{}{"value": remark, "color": "#173177"}
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(articleId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
|
|
|
|
-// 发送用户操作活动消息提醒
|
|
|
|
-func SendWxMsgWithActivityUserRemind(keyWord1, keyWord2 string, openIdList []*models.OpenIdList, activityId 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("发送用户操作活动消息提醒,文章ID:", activityId), 2)
|
|
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
|
- }
|
|
|
|
- }()
|
|
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
|
+ for _, v := range openIdList {
|
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
}
|
|
}
|
|
- var first string
|
|
|
|
- //first = keyWord1
|
|
|
|
- //keyword1 := keyWord2
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
- templateId := utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
- 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["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyWord1, "color": "#173177"}
|
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyWord2, "color": "#173177"}
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_ARTICLE_DETAIL + strconv.Itoa(articleId)
|
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
|
+
|
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
|
+ sendInfo.Resource = strconv.Itoa(articleId)
|
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// 发送用户操作专项调研活动消息提醒
|
|
|
|
-func SendWxMsgWithSpecialActivityUserRemind(keyWord1, keyWord2 string, openIdList []*models.OpenIdList, activityId int) (err error) {
|
|
|
|
|
|
+// 发送用户操作活动消息提醒
|
|
|
|
+func SendWxMsgWithActivityUserRemind(keyword1, keyword2 string, openIdList []*models.OpenIdList, activityId int) (err error) {
|
|
if len(openIdList) == 0 {
|
|
if len(openIdList) == 0 {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- var msg string
|
|
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
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:", activityId), 2)
|
|
go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,文章ID:", activityId), 2)
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
|
- }
|
|
|
|
- }()
|
|
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- var first string
|
|
|
|
- first = keyWord1
|
|
|
|
- keyword1 := keyWord2
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
- templateId := utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
|
- sendData := make(map[string]interface{})
|
|
|
|
- sendMap["template_id"] = templateId
|
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/specialDetail/specialDetail?id=" + strconv.Itoa(activityId)}
|
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": "#173177"}
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// 活动带问提醒
|
|
|
|
-func SendActivityAskApplyTemplateMsg(applyName, applyTime, askContent, activityName string, activityId int, itemOpenid *models.OpenIdList) (err error) {
|
|
|
|
- var msg string
|
|
|
|
- defer func() {
|
|
|
|
- if err != nil {
|
|
|
|
- go utils.SendEmail("发送模版消息失败"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
|
- go utils.SendAlarmMsg("活动带问提醒发送模版消息失败"+activityName, 2)
|
|
|
|
- }
|
|
|
|
- if msg != "" {
|
|
|
|
- utils.FileLog.Info("发送模版消息失败,msg:%s", msg)
|
|
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
|
|
|
|
- var accessToken string
|
|
|
|
- if utils.RunMode == "release" {
|
|
|
|
- accessToken, err = models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- accessToken, err = models.GetWxAccessToken()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
-
|
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
|
- sendData := make(map[string]interface{})
|
|
|
|
-
|
|
|
|
- first := "有新的客户提问"
|
|
|
|
- keyword1 := applyName
|
|
|
|
- keyword2 := "-"
|
|
|
|
- keyword3 := applyTime
|
|
|
|
- keyword4 := askContent
|
|
|
|
- remark := activityName
|
|
|
|
- fontColor := "#D9001B"
|
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": fontColor}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": fontColor}
|
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": fontColor}
|
|
|
|
- sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": fontColor}
|
|
|
|
- sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": fontColor}
|
|
|
|
- sendData["remark"] = map[string]interface{}{"value": remark, "color": fontColor}
|
|
|
|
- if utils.RunMode == "release" {
|
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApplyXzs
|
|
|
|
- } else {
|
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApply
|
|
|
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
|
+ for _, v := range openIdList {
|
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
}
|
|
}
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityId)}
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- sendTemplateMsg(sendUrl, sendMap, itemOpenid, strconv.Itoa(activityId), utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD)
|
|
|
|
- fmt.Println("send end")
|
|
|
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL + strconv.Itoa(activityId)
|
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
|
+ sendInfo.Resource = strconv.Itoa(activityId)
|
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
@@ -479,69 +355,69 @@ func SendActivityAskApplyTemplateMsgV2(keyword1, keyword2, keyword3, keyword4, r
|
|
}
|
|
}
|
|
|
|
|
|
// 专项产业调研模板消息推送
|
|
// 专项产业调研模板消息推送
|
|
-func SendSpecialTemplateMsg(applyName, applyTime, mobile, activityName, resource string, itemOpenid *models.OpenIdList) (err error) {
|
|
|
|
- var msg string
|
|
|
|
- defer func() {
|
|
|
|
- if err != nil {
|
|
|
|
- go utils.SendEmail("发送模版消息失败"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
|
- go utils.SendAlarmMsg("专项产业调研模板消息推送消息失败"+activityName, 2)
|
|
|
|
- }
|
|
|
|
- if msg != "" {
|
|
|
|
- utils.FileLog.Info("发送模版消息失败,msg:%s", msg)
|
|
|
|
- }
|
|
|
|
- }()
|
|
|
|
- var accessToken string
|
|
|
|
- if utils.RunMode == "release" {
|
|
|
|
- accessToken, err = models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- accessToken, err = models.GetWxAccessToken()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
|
- sendData := make(map[string]interface{})
|
|
|
|
- var first string
|
|
|
|
- if resource == "sale" {
|
|
|
|
- first = "有客户对专项调研感兴趣"
|
|
|
|
- } else {
|
|
|
|
- first = "有5家公司预报名专项调研"
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- keyword1 := applyName
|
|
|
|
- keyword2 := mobile
|
|
|
|
- keyword3 := applyTime
|
|
|
|
- keyword4 := activityName
|
|
|
|
-
|
|
|
|
- fontColor := "#D9001B"
|
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": fontColor}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": fontColor}
|
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": fontColor}
|
|
|
|
- sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": fontColor}
|
|
|
|
- sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": fontColor}
|
|
|
|
- if utils.RunMode == "release" {
|
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApplyXzs
|
|
|
|
- } else {
|
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApply
|
|
|
|
- }
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- sendTemplateMsg(sendUrl, sendMap, itemOpenid, mobile, utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
|
|
+//func SendSpecialTemplateMsg(applyName, applyTime, mobile, activityName, resource string, itemOpenid *models.OpenIdList) (err error) {
|
|
|
|
+// var msg string
|
|
|
|
+// defer func() {
|
|
|
|
+// if err != nil {
|
|
|
|
+// go utils.SendEmail("发送模版消息失败"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
|
+// go utils.SendAlarmMsg("专项产业调研模板消息推送消息失败"+activityName, 2)
|
|
|
|
+// }
|
|
|
|
+// if msg != "" {
|
|
|
|
+// utils.FileLog.Info("发送模版消息失败,msg:%s", msg)
|
|
|
|
+// }
|
|
|
|
+// }()
|
|
|
|
+// var accessToken string
|
|
|
|
+// if utils.RunMode == "release" {
|
|
|
|
+// accessToken, err = models.GetWxAccessTokenByXzs()
|
|
|
|
+// if err != nil {
|
|
|
|
+// msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// if accessToken == "" {
|
|
|
|
+// msg = "accessToken is empty"
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// } else {
|
|
|
|
+// accessToken, err = models.GetWxAccessToken()
|
|
|
|
+// if err != nil {
|
|
|
|
+// msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// if accessToken == "" {
|
|
|
|
+// msg = "accessToken is empty"
|
|
|
|
+// return
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
+// sendMap := make(map[string]interface{})
|
|
|
|
+// sendData := make(map[string]interface{})
|
|
|
|
+// var first string
|
|
|
|
+// if resource == "sale" {
|
|
|
|
+// first = "有客户对专项调研感兴趣"
|
|
|
|
+// } else {
|
|
|
|
+// first = "有5家公司预报名专项调研"
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// keyword1 := applyName
|
|
|
|
+// keyword2 := mobile
|
|
|
|
+// keyword3 := applyTime
|
|
|
|
+// keyword4 := activityName
|
|
|
|
+//
|
|
|
|
+// fontColor := "#D9001B"
|
|
|
|
+// sendData["first"] = map[string]interface{}{"value": first, "color": fontColor}
|
|
|
|
+// sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": fontColor}
|
|
|
|
+// sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": fontColor}
|
|
|
|
+// sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": fontColor}
|
|
|
|
+// sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": fontColor}
|
|
|
|
+// if utils.RunMode == "release" {
|
|
|
|
+// sendMap["template_id"] = utils.WxMsgTemplateIdApplyXzs
|
|
|
|
+// } else {
|
|
|
|
+// sendMap["template_id"] = utils.WxMsgTemplateIdApply
|
|
|
|
+// }
|
|
|
|
+// sendMap["data"] = sendData
|
|
|
|
+// sendTemplateMsg(sendUrl, sendMap, itemOpenid, mobile, utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD)
|
|
|
|
+// return
|
|
|
|
+//}
|
|
|
|
|
|
//弘则投资:
|
|
//弘则投资:
|
|
//Y59n_AHg-RLCKaz293geW76KDHpGL1qOnE7eF_lxelY 活动预约通知
|
|
//Y59n_AHg-RLCKaz293geW76KDHpGL1qOnE7eF_lxelY 活动预约通知
|
|
@@ -615,101 +491,127 @@ func SendTemplateMsg(sendUrl string, data []byte, resource string, sendType int,
|
|
}
|
|
}
|
|
|
|
|
|
// 发送报告更新的消息给预约的用户
|
|
// 发送报告更新的消息给预约的用户
|
|
-func SendWxMsgWithArticleUpdate(first, keyWord1, keyWord2, keyWord3, keyWord4 string, item *models.OpenIdList, articleId int) (err error) {
|
|
|
|
- var msg string
|
|
|
|
|
|
+func SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4 string, item *models.OpenIdList, articleId int) (err error) {
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
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:", articleId), 2)
|
|
go utils.SendAlarmMsg(fmt.Sprint("发送报告提问消息提醒模版消息失败,文章ID:", articleId), 2)
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- var openIdList []*models.OpenIdList
|
|
|
|
- openIdList = append(openIdList, item)
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
- templateId := utils.TemplateIdByProductXzs
|
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
|
- sendData := make(map[string]interface{})
|
|
|
|
- sendMap["template_id"] = templateId
|
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "pageMy/reportDetail/reportDetail?id=" + strconv.Itoa(articleId) + "&IsSendWx=1"}
|
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyWord1, "color": "#173177"}
|
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyWord2, "color": "#173177"}
|
|
|
|
- sendData["keyword3"] = map[string]interface{}{"value": keyWord3, "color": "#173177"}
|
|
|
|
- sendData["keyword4"] = map[string]interface{}{"value": keyWord4, "color": "#173177"}
|
|
|
|
- sendData["remark"] = map[string]interface{}{"value": "点击查看报告详情", "color": "#173177"}
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(articleId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
|
|
+ //accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //if accessToken == "" {
|
|
|
|
+ // msg = "accessToken is empty"
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //var openIdList []*models.OpenIdList
|
|
|
|
+ //openIdList = append(openIdList, item)
|
|
|
|
+ //sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
+ //templateId := utils.TemplateIdByProductXzs
|
|
|
|
+ //sendMap := make(map[string]interface{})
|
|
|
|
+ //sendData := make(map[string]interface{})
|
|
|
|
+ //sendMap["template_id"] = templateId
|
|
|
|
+ //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "pageMy/reportDetail/reportDetail?id=" + strconv.Itoa(articleId) + "&IsSendWx=1"}
|
|
|
|
+ //sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
+ //sendData["keyword1"] = map[string]interface{}{"value": keyWord1, "color": "#173177"}
|
|
|
|
+ //sendData["keyword2"] = map[string]interface{}{"value": keyWord2, "color": "#173177"}
|
|
|
|
+ //sendData["keyword3"] = map[string]interface{}{"value": keyWord3, "color": "#173177"}
|
|
|
|
+ //sendData["keyword4"] = map[string]interface{}{"value": keyWord4, "color": "#173177"}
|
|
|
|
+ //sendData["remark"] = map[string]interface{}{"value": "点击查看报告详情", "color": "#173177"}
|
|
|
|
+ //sendMap["data"] = sendData
|
|
|
|
+ //WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(articleId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
+
|
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
|
+ openIdArr = append(openIdArr, item.OpenId)
|
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_ARTICLE_DETAIL + strconv.Itoa(articleId)
|
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
|
+ sendInfo.TemplateId = utils.TemplateIdByProductXzs
|
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
|
+ sendInfo.Resource = strconv.Itoa(articleId)
|
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
// 周日下午4点半,推送全部活动
|
|
// 周日下午4点半,推送全部活动
|
|
-func SendActivityOnenIdWxTemplateMsg(first, keyWord1, keyWord2, keyWord3, keyWord4 string, openIdList []*models.OpenIdList) (err error) {
|
|
|
|
- var msg string
|
|
|
|
|
|
+func SendActivityOnenIdWxTemplateMsg(first, keyword1, keyword2, keyword3, keyword4 string, openIdList []*models.OpenIdList) (err error) {
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
if err != nil {
|
|
- go utils.SendEmail("周日下午4点半,推送全部活"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
|
go utils.SendAlarmMsg(fmt.Sprint("发送周日下午4点半,推送全部活模版消息失败,"), 2)
|
|
go utils.SendAlarmMsg(fmt.Sprint("发送周日下午4点半,推送全部活模版消息失败,"), 2)
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
- if err != nil {
|
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if accessToken == "" {
|
|
|
|
- msg = "accessToken is empty"
|
|
|
|
- return
|
|
|
|
|
|
+ //accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //if accessToken == "" {
|
|
|
|
+ // msg = "accessToken is empty"
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ ////var openIdList []*models.OpenIdList
|
|
|
|
+ ////openIdList = append(openIdList, item)
|
|
|
|
+ //sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
+ //templateId := utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
+ //sendMap := make(map[string]interface{})
|
|
|
|
+ //sendData := make(map[string]interface{})
|
|
|
|
+ //sendMap["template_id"] = templateId
|
|
|
|
+ //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "pages/activity/activity"}
|
|
|
|
+ ////sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId}
|
|
|
|
+ //sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
+ //sendData["keyword1"] = map[string]interface{}{"value": keyWord1, "color": "#173177"}
|
|
|
|
+ //sendData["keyword2"] = map[string]interface{}{"value": keyWord2, "color": "#173177"}
|
|
|
|
+ //sendData["keyword3"] = map[string]interface{}{"value": keyWord3, "color": "#173177"}
|
|
|
|
+ //sendData["keyword4"] = map[string]interface{}{"value": keyWord4, "color": "#173177"}
|
|
|
|
+ //sendData["remark"] = map[string]interface{}{"value": "点击查看下周活动列表", "color": "#173177"}
|
|
|
|
+ //sendMap["data"] = sendData
|
|
|
|
+ //WxSendTemplateMsg(sendUrl, sendMap, openIdList, "", utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
+
|
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
|
+
|
|
|
|
+ for _, v := range openIdList {
|
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
}
|
|
}
|
|
- //var openIdList []*models.OpenIdList
|
|
|
|
- //openIdList = append(openIdList, item)
|
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
|
- templateId := utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
|
- sendData := make(map[string]interface{})
|
|
|
|
- sendMap["template_id"] = templateId
|
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "pages/activity/activity"}
|
|
|
|
- //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId}
|
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
|
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyWord1, "color": "#173177"}
|
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyWord2, "color": "#173177"}
|
|
|
|
- sendData["keyword3"] = map[string]interface{}{"value": keyWord3, "color": "#173177"}
|
|
|
|
- sendData["keyword4"] = map[string]interface{}{"value": keyWord4, "color": "#173177"}
|
|
|
|
- sendData["remark"] = map[string]interface{}{"value": "点击查看下周活动列表", "color": "#173177"}
|
|
|
|
- sendMap["data"] = sendData
|
|
|
|
- WxSendTemplateMsg(sendUrl, sendMap, openIdList, "", utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
|
|
|
|
|
|
+ redirectUrl := "pages/activity/activity"
|
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdArticleUserRemind
|
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
|
+ //sendInfo.Resource =
|
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
// 发送用户留言提醒
|
|
// 发送用户留言提醒
|
|
// func SendCommentWxTemplateMsg(title, companyName, userName, sellerName, createTime, content string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
// 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) {
|
|
func SendCommentWxTemplateMsg(req models.AddCygxArticleCommentReq, user *models.WxUserItem, articleInfo *models.ArticleDetail, msgId int) (err error) {
|
|
- var msg string
|
|
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
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())
|
|
|
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("发送用户用户留言提醒失败,文章ID:", req.ArticleId, "Err:", err.Error()), 2)
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
|
|
|
|
companyItem, e := models.GetSellerDetailAllByCompanyId(user.CompanyId)
|
|
companyItem, e := models.GetSellerDetailAllByCompanyId(user.CompanyId)
|
|
if e != nil {
|
|
if e != nil {
|
|
|
|
+ err = errors.New("GetSellerDetailAllByCompanyId, Err: " + e.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- if companyItem == nil {
|
|
|
|
- msg = "获取客户所属销售信息失败,UserID:" + strconv.Itoa(user.UserId)
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
var first string
|
|
var first string
|
|
var keyword1 string
|
|
var keyword1 string
|
|
var keyword2 string
|
|
var keyword2 string
|