Browse Source

no message

xingzai 9 months ago
parent
commit
93374b5701
6 changed files with 123 additions and 6 deletions
  1. 1 0
      controllers/report.go
  2. 4 0
      controllers/user.go
  3. 25 1
      models/user_record.go
  4. 28 0
      services/user.go
  5. 60 5
      services/wx_template_msg.go
  6. 5 0
      utils/constants.go

+ 1 - 0
controllers/report.go

@@ -1516,6 +1516,7 @@ func (this *ReportController) CommentAdd() {
 		return
 	}
 	go services.SendCommentWxTemplateMsg(req, user, articleInfo, int(msgId))
+	go services.SendCommentWxTemplateMsgByYxCategory(req, user, articleInfo, int(msgId)) // 发送用户留言提醒(研选公众号类目模版消息)
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "提交成功"

+ 4 - 0
controllers/user.go

@@ -636,6 +636,10 @@ func (this *UserController) ApplyTryOut() {
 	}
 	if sellerItem == nil {
 		go services.SendPermissionApplyTemplateMsgAdmin(req, mobile, applyMethod, isResearch)
+		if isResearch {
+			//如果是研选的报告走研选的类目模版消息
+			go services.SendPermissionApplyTemplateMsgAdminByYxCategory(req, mobile, applyMethod)
+		}
 	} else {
 		openIpItem, _ := models.GetUserRecordByMobile(4, sellerItem.Mobile)
 		if openIpItem != nil && openIpItem.OpenId != "" {

+ 25 - 1
models/user_record.go

@@ -163,7 +163,6 @@ func GetUserRecordListByMobile(platform int, bindAccount string) (items []*OpenI
 	return
 }
 
-
 // 根据手机号获取用户的openid
 func GetMfyxUserRecordListByMobile(platform int, bindAccount string) (items []*OpenIdList, err error) {
 	var sql string
@@ -210,3 +209,28 @@ func GetMfyxWxOpenIdByMobileList(mobile string) (items []*OpenIdList, err error)
 	_, err = o.Raw(sql, pars).QueryRows(&items)
 	return
 }
+
+//func init() {
+//	//OpenIdList, _ := GetMfyxWxOpenIdByMobileArrList([]string{"15557270714"})
+//	OpenIdList, _ := GetMfyxWxOpenIdByMobileList("15557270714")
+//	fmt.Println(OpenIdList)
+//}
+
+func GetMfyxWxOpenIdByMobileArrList(mobiles []string) (items []*OpenIdList, err error) {
+	o := orm.NewOrm()
+	lenarr := len(mobiles)
+	if lenarr == 0 {
+		return
+	}
+	var condition string
+	condition = ` AND u.cygx_bind_account IN ('` + strings.Join(mobiles, "','") + `')`
+	sql := `SELECT
+			u.open_id,
+			u.cygx_user_id AS user_id 
+		FROM
+			cygx_mfyx_gzh_user_record AS u 
+		WHERE
+			1 = 1  ` + condition
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 28 - 0
services/user.go

@@ -711,3 +711,31 @@ func SendPermissionApplyTemplateMsgAdmin(req models.ApplyTryReq, usermobile, app
 	}
 	return
 }
+
+// 研选模板消息
+func SendPermissionApplyTemplateMsgAdminByYxCategory(req models.ApplyTryReq, usermobile, applyMethod string) (err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg("处理试用申请给王芳,汪洋发消息失败, ErrMsg: "+err.Error(), 3)
+		}
+	}()
+	var configCode string
+	//如果是研选的就推送给汪洋跟王芳,否则就推送给王芳
+	configCode = utils.TPL_MSG
+	cnf, e := models.GetConfigByCode(configCode)
+	if e != nil {
+		err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
+		return
+	}
+	var mobiles []string
+	mobiles = append(mobiles, cnf.ConfigValue)
+	openIdList, e := models.GetMfyxWxOpenIdByMobileArrList(mobiles)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
+		return err
+	}
+	for _, v := range openIdList {
+		go SendPermissionApplyTemplateMsg(req.RealName, req.CompanyName, usermobile, applyMethod, v)
+	}
+	return
+}

+ 60 - 5
services/wx_template_msg.go

@@ -304,11 +304,7 @@ func SendCommentWxTemplateMsg(req models.AddCygxArticleCommentReq, user *models.
 		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"
-	}
+	redirectUrl = utils.WX_MSG_PATH_TEMPLATE_MSG + "SourceId=" + strconv.Itoa(msgId) + "&SourceType=1"
 
 	sendInfo := new(SendWxTemplate)
 	sendInfo.First = first
@@ -330,6 +326,65 @@ func SendCommentWxTemplateMsg(req models.AddCygxArticleCommentReq, user *models.
 	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 = 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)
+
+	mobile = companyItem.Mobile + "," + utils.WxMsgTemplateIdAskMsgMobilePublic + "," + utils.ActSendMsgMobile
+	openIdList, e := models.GetMfyxWxOpenIdByMobileList(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)
+	}
+
+	redirectUrl = utils.WX_MSG_PATH_YX_COMMENT_DETAIL + strconv.Itoa(msgId) + "&type=文章"
+	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
+}
+
 // 发送用户操作活动消息提醒
 func SendWxMsgWithActivityUserRemind(keyWord1, keyWord2 string, openIdList []*models.OpenIdList, activityId int) (err error) {
 	var msg string

+ 5 - 0
utils/constants.go

@@ -194,6 +194,11 @@ const (
 	WX_MSG_PATH_LAST_WEEK_DETAIL         = "reportPages/reportSecretDetail/reportSecretDetail?type=3&id=" //上周纪要汇总详情模板消息地址
 )
 
+// 研选公账号跳转地址
+const (
+	WX_MSG_PATH_YX_COMMENT_DETAIL = "pages-activity/generationAsk/generationAsk?id=" //研选报告留言详情
+)
+
 // 微信模板消息推送公共接口的秘钥
 const (
 	SendTemplateMsgAuthorization = "dc855fce962a639faa779cbdd4cd332f"