|
@@ -0,0 +1,134 @@
|
|
|
+package cygx
|
|
|
+
|
|
|
+import (
|
|
|
+ "errors"
|
|
|
+ "fmt"
|
|
|
+ "hongze/hz_crm_api/models"
|
|
|
+ "hongze/hz_crm_api/models/cygx"
|
|
|
+ "hongze/hz_crm_api/services"
|
|
|
+ "hongze/hz_crm_api/services/alarm_msg"
|
|
|
+ "hongze/hz_crm_api/utils"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+// 研选专栏有新内容审核通过时,给关注此专栏的客户发送模板消息
|
|
|
+func SendWxMsgSpecialFollow(specialId int) (err error) {
|
|
|
+ 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 alarm_msg.SendAlarmMsg(fmt.Sprint("研选专栏有新内容审核通过时,给关注此专栏的客户发送模板消息失败", specialId, ", specialId"), 2)
|
|
|
+ utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var first string
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var remark string
|
|
|
+
|
|
|
+ followers, e := cygx.GetYanxuanSpecialFollowUserById(specialId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ specialItem, e := cygx.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 := make([]string, 0)
|
|
|
+
|
|
|
+ for _, v := range userList {
|
|
|
+ mobile = append(mobile, v.Mobile)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ condition := ""
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+ condition += ` AND u.mobile IN (` + utils.GetOrmInReplace(len(mobile)) + `)`
|
|
|
+ pars = append(pars, mobile)
|
|
|
+
|
|
|
+ openIdList, e := cygx.GetWxOpenIdBList(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //first =
|
|
|
+ keyword1 = "研选专栏:" + specialItem.SpecialName
|
|
|
+ keyword2 = "发布了新内容,点击查看详情"
|
|
|
+ //keyword3 = "-"
|
|
|
+ //keyword4 = "【" + activityInfo.ResearchTheme + "】已有10人预报名"
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL + strconv.Itoa(specialId)
|
|
|
+ sendInfo := new(services.SendWxTemplate)
|
|
|
+ sendInfo.First = first
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
+ sendInfo.Remark = remark
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdActivityChangeApplyXzs
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.Resource = strconv.Itoa(specialId)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = services.SendTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// SendReviewTemplateMsgAdmin 提交审核时给王芳,汪洋发消息
|
|
|
+//func SendReviewTemplateMsgAdmin(req models.ApplyTryReq, usermobile, applyMethod string, isResearch bool) (err error) {
|
|
|
+// defer func() {
|
|
|
+// if err != nil {
|
|
|
+// go utils.SendAlarmMsg("处理试用申请给王芳,汪洋发消息失败, ErrMsg: "+err.Error(), 3)
|
|
|
+// }
|
|
|
+// }()
|
|
|
+// var configCode string
|
|
|
+// //如果是研选的就推送给汪洋跟王芳,否则就推送给王芳
|
|
|
+// if isResearch {
|
|
|
+// configCode = utils.TPL_MSG_WANG_FANG_WANG_YANG
|
|
|
+// } else {
|
|
|
+// configCode = utils.TPL_MSG
|
|
|
+// }
|
|
|
+// 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
|
|
|
+// }
|
|
|
+//
|
|
|
+// for _, v := range openIdList {
|
|
|
+// go SendPermissionApplyTemplateMsg(req.RealName, req.CompanyName, usermobile, applyMethod, v)
|
|
|
+// }
|
|
|
+//
|
|
|
+// return
|
|
|
+//}
|