|
@@ -64,7 +64,7 @@ func SendCategoryTemplateMsg(sendInfo *SendWxCategoryTemplate) (err error) {
|
|
|
}
|
|
|
|
|
|
// 发送用户操作活动消息提醒
|
|
|
-func SendWxCategoryMsgWithActivityUserRemind(keyWord1, keyWord2 string, openIdList []*models.OpenIdList, activityId int) (err error) {
|
|
|
+func SendWxCategoryMsgWithActivityUserRemind(keyWord1, keyWord2, keyWord3, keyWord4 string, openIdList []*models.OpenIdList, activityId int) (err error) {
|
|
|
if len(openIdList) == 0 {
|
|
|
return
|
|
|
}
|
|
@@ -194,7 +194,7 @@ func SendNeiRongZuActivitieSignCategoryTemplateMsg(user *models.WxUserItem, acti
|
|
|
var keywords []string
|
|
|
keywords = append(keywords, user.RealName, user.CompanyName,
|
|
|
sellerItemQy.RealName, time.Now().Format(utils.FormatDateTimeMinute2),
|
|
|
- "报名"+"【"+activityDetail.ActivityName+"】")
|
|
|
+ "报名:"+activityDetail.ActivityName)
|
|
|
|
|
|
//sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityDetail.ActivityId)}
|
|
|
sendInfo := new(SendWxCategoryTemplate)
|
|
@@ -292,7 +292,7 @@ func SendCommentWxCategoryTemplateMsg(req models.AddCygxArticleCommentReq, user
|
|
|
keyword1 = user.RealName
|
|
|
keyword2 = companyItem.SellerName
|
|
|
keyword3 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
- keyword4 = "报告留言:"+req.Content
|
|
|
+ keyword4 = "报告留言:" + req.Content
|
|
|
keywords = append(keywords, keyword1, keyword2, keyword3, keyword4)
|
|
|
|
|
|
if articleInfo.ArticleTypeId > 0 {
|
|
@@ -329,7 +329,7 @@ func SendCommentWxCategoryTemplateMsg(req models.AddCygxArticleCommentReq, user
|
|
|
}
|
|
|
|
|
|
// 发送报告提问消息提醒
|
|
|
-func SendWxCategoryMsgWithAsk(companyName,realName,sellerName, askTime, askMsg string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
|
+func SendWxCategoryMsgWithAsk(companyName, realName, sellerName, askTime, askMsg string, openIdList []*models.OpenIdList, articleId int) (err error) {
|
|
|
if len(openIdList) == 0 {
|
|
|
return
|
|
|
}
|
|
@@ -372,3 +372,402 @@ func SendWxCategoryMsgWithAsk(companyName,realName,sellerName, askTime, askMsg s
|
|
|
err = SendCategoryTemplateMsg(sendInfo)
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// SendActivitieSignCategoryTemplateMsg 线下调研活动扫码签到给对应销售发类目模班消息
|
|
|
+func SendActivitieSignCategoryTemplateMsg(user *models.WxUserItem, activityDetail *models.ActivityDetail) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("线下调研活动扫码签到给对应销售发模班消息推送失败Err:", err.Error(), "活动ID:", activityDetail.ActivityId, "手机号:", user.Mobile), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var mobiles []string
|
|
|
+ //获取销售信息
|
|
|
+ sellerItem, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if sellerItem != nil {
|
|
|
+ mobiles = append(mobiles, sellerItem.Mobile, utils.MobileWuAngDi, utils.MobileDongHeng, utils.MobileShenTao)
|
|
|
+ }
|
|
|
+
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var keyword5 string
|
|
|
+
|
|
|
+ var redirectUrl string
|
|
|
+
|
|
|
+ keyword1 = user.RealName
|
|
|
+ keyword2 = user.CompanyName
|
|
|
+ keyword3 = sellerItem.RealName
|
|
|
+ keyword4 = activityDetail.ActivityName
|
|
|
+ keyword5 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileSliceList(mobiles)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ if utils.RunMode != "release" {
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_ACTIVITY_DETAIL + strconv.Itoa(activityDetail.ActivityId)
|
|
|
+ } else {
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_ACTIVITY_SIGN + strconv.Itoa(activityDetail.ActivityId)
|
|
|
+ }
|
|
|
+
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4, keyword5}
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdActivitySign
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// SendReviewCategoryTemplateMsgAdmin 提交审核时给王芳,汪洋发消息
|
|
|
+func SendReviewCategoryTemplateMsgAdmin(specialId int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("处理试用申请给王芳,汪洋发消息失败, specialId:", specialId, "ErrMsg", err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var configCode string
|
|
|
+ //如果是研选的就推送给汪洋跟王芳,否则就推送给王芳
|
|
|
+ configCode = utils.TPL_MSG_WANG_FANG_WANG_YANG
|
|
|
+ cnf, e := models.GetConfigByCode(configCode)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ openIdList, e := models.GetUserRecordListByMobile(4, cnf.ConfigValue)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ user, e := models.GetWxUserItemByUserId(specialItem.UserId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetWxUserItemByUserId, Err: " + e.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ keyword1 = specialItem.NickName
|
|
|
+ keyword2 = specialItem.RealName + "-" + user.CompanyName
|
|
|
+ keyword3 = specialItem.SpecialName
|
|
|
+ keyword3 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ keyword4 = "研选专栏提交了内容待审核"
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := ""
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_YX_SPECIAL_ENABLE_DETAIL + strconv.Itoa(specialId)
|
|
|
+
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4}
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 研选专栏审核完成时,给提交人发送类目模板消息
|
|
|
+func SendWxCategoryMsgSpecialAuthor(specialId, status int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("研选专栏审核完成时,给提交人发送模板消息", specialId, ", specialId", err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var redirectUrl string
|
|
|
+
|
|
|
+ specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ user, e := models.GetWxUserItemByUserId(specialItem.UserId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetWxUserItemByUserId, Err: " + e.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ openIdList, err := models.GetUserRecordListByMobile(4, user.Mobile)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ keyword1 = specialItem.Title
|
|
|
+ keyword2 = specialItem.NickName
|
|
|
+ if status == 1 {
|
|
|
+ keyword3 = "文章已通过审核,点击查看详情"
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_YX_SPECIAL_DETAIL + strconv.Itoa(specialId)
|
|
|
+ } else {
|
|
|
+ keyword3 = "文章未通过审核,点击查看驳回原因"
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_YX_SPECIAL_CENTER
|
|
|
+ }
|
|
|
+ keyword4 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4}
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdCompanyApprovalMessageRai
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 研选专栏有新内容审核通过时,给关注此专栏的客户发送模板消息
|
|
|
+func SendWxCategoryMsgSpecialFollow(specialId int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("研选专栏有新内容审核通过时,给关注此专栏的客户发送类目模板消息失败", specialId, ", specialId", err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+
|
|
|
+ followers, e := models.GetYanxuanSpecialFollowUserById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(followers) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var allInUserId string
|
|
|
+ for _, v := range followers {
|
|
|
+ allInUserId += strconv.Itoa(v) + ","
|
|
|
+ }
|
|
|
+
|
|
|
+ allInUserId = strings.TrimRight(allInUserId, ",")
|
|
|
+
|
|
|
+ userList, err := models.GetWxUserListByUserIds(allInUserId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ mobile := ``
|
|
|
+
|
|
|
+ for _, v := range userList {
|
|
|
+ mobile += v.Mobile + ","
|
|
|
+ }
|
|
|
+
|
|
|
+ mobile = strings.TrimRight(mobile, ",")
|
|
|
+
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileList(mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ keyword1 = specialItem.SpecialName
|
|
|
+ keyword2 = "发布了新报告"
|
|
|
+ keyword3 = specialItem.Title
|
|
|
+ keyword4 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := ""
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_YX_SPECIAL_DETAIL + strconv.Itoa(specialId)
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4}
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdCompanyApprovalMessageRai
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 文章互动相关类目模版消息
|
|
|
+func SendWxCategoryMsgInteractive(user *models.WxUserItem, interactive string, articleId int) (err error) {
|
|
|
+ //30秒内阅读同一篇报告不做重复推送
|
|
|
+ key := "CYGX_" + utils.CYGX_OBJ_RESEARCHSUMMARY + "_READ" + strconv.Itoa(articleId) + "_" + strconv.Itoa(user.UserId)
|
|
|
+ if utils.Rc.IsExist(key) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ utils.Rc.Put(key, 1, 30*time.Second)
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("文章互动相关,类目模板消息推送 ,SendWxCategoryMsgInteractive"+err.Error(), "userId:", user.UserId, "互动类型:", interactive), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ countUser, err := models.GetUserRemind(user.UserId)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if countUser == 0 {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ //获取销售手机号
|
|
|
+ sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if sellerItemQy != nil {
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ detail, e := models.GetCygxResearchSummaryInfoById(articleId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxProductInteriorDetail, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if detail == nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyword1 = user.RealName + "-" + user.CompanyName
|
|
|
+ keyword2 = fmt.Sprint("互动提醒:", interactive)
|
|
|
+ keyword3 = detail.Title
|
|
|
+ keyword4 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+
|
|
|
+ redirectUrl := ``
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_ARTICLE_DETAIL + strconv.Itoa(articleId)
|
|
|
+
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4}
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdCompanyApprovalMessageRai
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 用户搜索操作操作行为,类目模板消息推送
|
|
|
+func SearchKeywordUserRmindCategoryMsg(user *models.WxUserItem, keyWord string) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("用户搜索操作操作行为,类目模板消息推送失败"+err.Error(), "UserId:", user.UserId, "keyWord:", keyWord), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ countUser, e := models.GetUserRemind(user.UserId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetUserRemind, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if countUser == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ //获取销售手机号
|
|
|
+ sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetSellerByCompanyIdCheckFicc, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if sellerItemQy != nil {
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyword1 = user.RealName+ "-"+ user.CompanyName
|
|
|
+ keyword2 = fmt.Sprint("互动提醒:搜索" )
|
|
|
+ keyword3 = keyWord
|
|
|
+ keyword4 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := ""
|
|
|
+ keywords := []string{keyword1, keyword2, keyword3, keyword4}
|
|
|
+
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = keywords
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdCompanyApprovalMessageRai
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|