|
@@ -451,3 +451,140 @@ func SendActivitieCancelSignCategoryTemplateMsg(user *models.WxUserItem, activit
|
|
|
err = SendCategoryTemplateMsg(sendInfo)
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// 研选类目模板消息
|
|
|
+func SendPermissionApplyTemplateMsgAdminByYxCategory(req models.ApplyTryReq, companyId int, usermobile, applyMethod, redirectUrl string) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg("研选类目模板消息消息失败, SendPermissionApplyTemplateMsgAdminByYxCategoryErrMsg: "+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ //潜在客户、未开权益,已开FICC的客户推给王芳,开通权益的客户推给对应销售
|
|
|
+ mobileOpneid := utils.WxMsgTemplateIdAskMsgMobilePublic
|
|
|
+ if companyId > 1 {
|
|
|
+ raiCount, e := models.GetCompanyProductCount(companyId, utils.COMPANY_PRODUCT_RAI_ID)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyProductCount, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if raiCount == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sealldetail, e := models.GetRaiSellerByCompanyId(companyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetRaiSellerByCompanyId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mobileOpneid = sealldetail.Mobile
|
|
|
+ }
|
|
|
+
|
|
|
+ openIdList, e := models.GetMfyxWxOpenIdByMobileList(mobileOpneid)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetMfyxWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var keyword5 string
|
|
|
+ keyword1 = req.RealName
|
|
|
+ keyword2 = utils.TruncateActivityNameString(req.CompanyName)
|
|
|
+ keyword3 = "权限申请"
|
|
|
+ keyword4 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ keyword5 = applyMethod
|
|
|
+
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ detail, e := models.GetCygxApplyRecordByMobile(usermobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxApplyRecordByMobile" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //redirectUrl := ""
|
|
|
+ //如果是潜在客户就推送可查看详情的模版消息
|
|
|
+ if detail.ApplyMethod == 2 {
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_APPLY_DETAIL + strconv.Itoa(detail.ApplyRecordId)
|
|
|
+ }
|
|
|
+
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4, keyword5}
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
+ sendInfo.RedirectTarget = 4
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 发送用户留言提醒(研选公众号类目模版消息)
|
|
|
+func SendCommentWxTemplateMsgByYxCategory(req models.AddCygxArticleCommentReq, user *models.WxUserItem, articleInfo *models.ArticleDetail, msgId int) (err error) {
|
|
|
+ if articleInfo.ArticleTypeId == 0 {
|
|
|
+ return // 非研选的文章不做推送
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("发送用户用户留言提醒失败,文章ID:", req.ArticleId, "err", err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ companyItem, e := models.GetSellerDetailAllByCompanyId(user.CompanyId)
|
|
|
+ if e != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if companyItem == nil {
|
|
|
+ err = errors.New("获取客户所属销售信息失败")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var keyword5 string
|
|
|
+ var redirectUrl string
|
|
|
+ var mobile string
|
|
|
+
|
|
|
+ var keywords []string
|
|
|
+ keyword1 = user.RealName
|
|
|
+ keyword2 = utils.TruncateActivityNameString(companyItem.CompanyName)
|
|
|
+ keyword3 = companyItem.SellerName
|
|
|
+ keyword4 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ keyword5 = "报告留言:" + req.Content
|
|
|
+ keyword5 = utils.TruncateActivityNameString(keyword5)
|
|
|
+ keywords = append(keywords, keyword1, keyword2, keyword3, keyword4, keyword5)
|
|
|
+
|
|
|
+ var mobiles []string
|
|
|
+ mobiles = append(mobiles, utils.RAI_MOBILE_GAO_YI_WEN, utils.RAI_MOBILE_DONG_HENG, utils.RAI_MOBILE_WU_ANG_DI, utils.RAI_MOBILE_GE_LIN) //葛琳、高亦文、董衡、吴昂迪手机号
|
|
|
+ mobile = companyItem.Mobile + "," + utils.WxMsgTemplateIdAskMsgMobilePublic + "," + strings.Join(mobiles, ",")
|
|
|
+ //mobile =
|
|
|
+ openIdList, e := models.GetMfyxWxOpenIdByMobileList(mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetMfyxWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ 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 = 4
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ return
|
|
|
+}
|