xingzai před 9 měsíci
rodič
revize
6c0519b29d

+ 5 - 0
controllers/activity.go

@@ -1186,6 +1186,11 @@ func (this *ActivityController) SignupAdd() {
 			if activityInfo.IsResearchPoints {
 				resp.PopupMsg = "<b>报名成功,已加入您的活动日程</b><br/><br/>想要及时获取活动信息变更通知,请关注【查研观向小助手】公众号"
 			}
+			// 如果是买方研选下的专家沙龙,同时推给内容组四人
+			if activityInfo.ActivityTypeId == 5 && activityInfo.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
+				go services.SendNeiRongZuActivitieSignTemplateMsg(user, activityInfo)
+				go services.SendNeiRongZuActivitieSignCategoryTemplateMsg(user, activityInfo)
+			}
 			go services.YanXuanActivityPointsBillSignupAdd(activityId, uid) // 用户报名添加到处理研选扣点
 		}
 

+ 18 - 6
services/activity.go

@@ -1725,17 +1725,12 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
 	}()
 
 	//获取销售手机号
-
 	countUser, e := models.GetUserRemind(user.UserId)
 	if e != nil {
 		err = errors.New("GetUserRemind, Err: " + e.Error())
 		return
 	}
-	// 如果是买方研选下的专家沙龙,同时推给内容组四人
-	if activityDetail.ActivityTypeId == 5 && activityDetail.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
-		go SendNeiRongZuActivitieSignTemplateMsg(user, activityDetail)
-		go SendNeiRongZuActivitieSignCategoryTemplateMsg(user, activityDetail)
-	}
+
 	//获取销售手机号
 	sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
 	if e != nil && e.Error() != utils.ErrNoRow() {
@@ -1758,6 +1753,7 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
 		return
 	}
 	var sourceMsg string
+
 	if source == 1 {
 		sourceMsg = "预约外呼"
 	} else if source == 2 {
@@ -1778,6 +1774,22 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
 	keyword1 = activityDetail.ActivityName
 	keyword2 = fmt.Sprint("互动:", sourceMsg, ",", user.RealName, "--", user.CompanyName)
 	SendWxMsgWithActivityUserRemind(keyword1, keyword2, openIdList, activityDetail.ActivityId)
+
+	// 类目模版买方研选
+	if activityDetail.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
+		openIdListMfyx, e := models.GetMfyxWxOpenIdByMobileList(sellerItemQy.Mobile)
+		if e != nil {
+			err = errors.New("GetMfyxWxOpenIdByMobileList, Err: " + e.Error())
+			return err
+		}
+		var redirectUrl string
+		keyword1 = utils.TruncateActivityNameString(user.RealName + "-" + user.CompanyName)
+		keyword2 = fmt.Sprint("互动提醒:", sourceMsg)
+		keyword3 := utils.TruncateActivityNameString(activityDetail.ActivityName)
+		keyword4 := time.Now().Format(utils.FormatDateTimeMinute2)
+		redirectUrl = utils.WX_MSG_PATH_YX_ACTIVITY_DETAIL + strconv.Itoa(activityDetail.ActivityId)
+		SendWxCategoryMsgWithActivityUserRemind(keyword1, keyword2, keyword3, keyword4, redirectUrl, openIdListMfyx, activityDetail.ActivityId)
+	}
 	return
 }
 

+ 24 - 5
services/article.go

@@ -684,8 +684,7 @@ func GetArticleStockMap() (mapResp map[string]int, err error) {
 func ArticleUserRemind(user *models.WxUserItem, articleDetail *models.ArticleDetail, source int) (err error) {
 	defer func() {
 		if err != nil {
-			go utils.SendAlarmMsg("同步策略平台阅读数据失败", 2)
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetCeLueArticlePv ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+			go utils.SendAlarmMsg("用户报告操作行为,模板消息推送 ,err"+err.Error(), 2)
 		}
 	}()
 	countUser, err := models.GetUserRemind(user.UserId)
@@ -708,16 +707,36 @@ func ArticleUserRemind(user *models.WxUserItem, articleDetail *models.ArticleDet
 		return err
 	}
 	if sellerItemQy != nil {
-		openIdList, err := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
-		if err != nil {
+
+		articleId := articleDetail.ArticleId
+		openIdList, e := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
+		if e != nil {
+			err = errors.New("GetWxOpenIdByMobileList, Err: " + e.Error())
 			return err
 		}
 		var keyword1 string
 		var keyword2 string
 		keyword1 = articleDetail.Title
 		keyword2 = fmt.Sprint("互动:", sourceMsg, ",", user.RealName, "--", user.CompanyName)
-		SendWxMsgWithArticleUserRemind(keyword1, keyword2, openIdList, articleDetail.ArticleId)
+		SendWxMsgWithArticleUserRemind(keyword1, keyword2, openIdList, articleId)
+
+		if articleDetail.ArticleTypeId > 0 {
+			// 类目模版买方研选
+			openIdListMfyx, e := models.GetMfyxWxOpenIdByMobileList(sellerItemQy.Mobile)
+			if e != nil {
+				err = errors.New("GetMfyxWxOpenIdByMobileList, Err: " + e.Error())
+				return err
+			}
+			var redirectUrl string
+			keyword1 = utils.TruncateActivityNameString(user.RealName + "-" + user.CompanyName)
+			keyword2 = fmt.Sprint("互动提醒:", sourceMsg)
+			keyword3 := utils.TruncateActivityNameString(articleDetail.Title)
+			keyword4 := time.Now().Format(utils.FormatDateTimeMinute2)
+			redirectUrl = utils.WX_MSG_PATH_YX_ARTICLE_DETAIL + strconv.Itoa(articleId)
+			SendWxCategoryMsgWithActivityUserRemind(keyword1, keyword2, keyword3, keyword4, redirectUrl, openIdListMfyx, articleId)
+		}
 	}
+
 	return
 }
 

+ 30 - 0
services/wechat_send_category_template_msg.go

@@ -587,3 +587,33 @@ func SendCommentWxTemplateMsgByYxCategory(req models.AddCygxArticleCommentReq, u
 	err = SendCategoryTemplateMsg(sendInfo)
 	return
 }
+
+// 发送用户操作活动消息提醒
+func SendWxCategoryMsgWithActivityUserRemind(keyWord1, keyWord2, keyWord3, keyWord4, redirectUrl string, openIdList []*models.OpenIdList, activityId int) (err error) {
+	if len(openIdList) == 0 {
+		return
+	}
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,SendWxCategoryMsgWithActivityUserRemind 文章ID:", activityId), 2)
+		}
+	}()
+	keyWord1 = utils.TruncateActivityNameString(keyWord1)
+
+	openIdArr := make([]string, 0)
+	for _, v := range openIdList {
+		openIdArr = append(openIdArr, v.OpenId)
+	}
+	var keywords []string
+	keywords = append(keywords, keyWord1, keyWord2, keyWord3, keyWord4)
+
+	sendInfo := new(SendWxCategoryTemplate)
+	sendInfo.Keywords = keywords
+	sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdActivityPublishApply
+	sendInfo.RedirectTarget = 4
+	sendInfo.RedirectUrl = redirectUrl
+	sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
+	sendInfo.OpenIdArr = openIdArr
+	err = SendCategoryTemplateMsg(sendInfo)
+	return
+}