|
@@ -78,7 +78,7 @@ func SendWxCategoryMsgSpecialAuthor(specialId, status int) (err error) {
|
|
|
|
|
|
specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ err = errors.New("GetYanxuanSpecialItemById, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
user, e := models.GetWxUserItemByUserId(specialItem.UserId)
|
|
@@ -87,8 +87,9 @@ func SendWxCategoryMsgSpecialAuthor(specialId, status int) (err error) {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
- openIdList, err := models.GetMfyxUserRecordListByMobile(12, user.Mobile)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ openIdList, e := models.GetMfyxWxOpenIdByMobileList(user.Mobile)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetMfyxUserRecordListByMobile, Err: " + e.Error())
|
|
|
return err
|
|
|
}
|
|
|
|
|
@@ -145,7 +146,7 @@ func SendWxCategoryMsgSpecialFollow(specialId int) (err error) {
|
|
|
}
|
|
|
specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ err = errors.New("GetYanxuanSpecialItemById, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
var allInUserId string
|
|
@@ -160,17 +161,14 @@ func SendWxCategoryMsgSpecialFollow(specialId int) (err error) {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
- mobile := ``
|
|
|
-
|
|
|
+ var mobiles []string
|
|
|
for _, v := range userList {
|
|
|
- mobile += v.Mobile + ","
|
|
|
+ mobiles = append(mobiles, v.Mobile)
|
|
|
}
|
|
|
|
|
|
- mobile = strings.TrimRight(mobile, ",")
|
|
|
-
|
|
|
- openIdList, e := models.GetMfyxWxOpenIdByMobileList(mobile)
|
|
|
+ openIdList, e := models.GetMfyxWxOpenIdByMobileSliceList(mobiles)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ err = errors.New("GetMfyxWxOpenIdByMobileSliceList, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
if len(openIdList) == 0 {
|
|
@@ -203,7 +201,7 @@ func SendWxCategoryMsgSpecialFollow(specialId int) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// SendReviewCategoryTemplateMsgAdmin 提交审核时给王芳,汪洋发消息
|
|
|
+// SendReviewCategoryTemplateMsgAdmin 提交审核时给王芳,葛琳和沈涛发消息
|
|
|
func SendReviewCategoryTemplateMsgAdmin(specialId int) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -211,14 +209,14 @@ func SendReviewCategoryTemplateMsgAdmin(specialId int) (err error) {
|
|
|
}
|
|
|
}()
|
|
|
//王芳、葛琳和沈涛
|
|
|
- openIdList, e := models.GetMfyxUserRecordListByMobile(12, utils.WxMsgTemplateIdYXSpecialReview)
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileList(utils.WxMsgTemplateIdAskMsgMobilePublic + "," + utils.RAI_MOBILE_GE_LIN)
|
|
|
if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetUserRecordListByMobile, Err: " + e.Error())
|
|
|
+ err = errors.New("GetWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
return err
|
|
|
}
|
|
|
specialItem, e := models.GetYanxuanSpecialItemById(specialId)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetYanxuanSpecialFollowUserById, Err: " + e.Error())
|
|
|
+ err = errors.New("GetYanxuanSpecialItemById, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
user, e := models.GetWxUserItemByUserId(specialItem.UserId)
|
|
@@ -265,24 +263,13 @@ func SendWxCategoryMsgWithActivityUserRemind(keyWord1, keyWord2, keyWord3, keyWo
|
|
|
if len(openIdList) == 0 {
|
|
|
return
|
|
|
}
|
|
|
- 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 utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,文章ID:", activityId), 2)
|
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,SendWxCategoryMsgWithActivityUserRemind 文章ID:", activityId), 2)
|
|
|
}
|
|
|
}()
|
|
|
keyWord1 = utils.TruncateActivityNameString(keyWord1)
|
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
- if err != nil {
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if accessToken == "" {
|
|
|
- msg = "accessToken is empty"
|
|
|
- return
|
|
|
- }
|
|
|
+
|
|
|
openIdArr := make([]string, 0)
|
|
|
for _, v := range openIdList {
|
|
|
openIdArr = append(openIdArr, v.OpenId)
|
|
@@ -303,58 +290,11 @@ func SendWxCategoryMsgWithActivityUserRemind(keyWord1, keyWord2, keyWord3, keyWo
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// 试用申请模板消息
|
|
|
-func SendPermissionApplyCategoryTemplateMsg(realName, companyName, mobile, applyMethod string, itemOpenid *models.OpenIdList, redirectUrl string) (err error) {
|
|
|
-
|
|
|
- defer func() {
|
|
|
- if err != nil {
|
|
|
- go utils.SendAlarmMsg(fmt.Sprint("权限申请模板消息推送消息失败,手机号", mobile, "公司:", companyName, "手机号:", mobile, ";Err:"+err.Error()), 2)
|
|
|
- }
|
|
|
- }()
|
|
|
- var keyword1 string
|
|
|
- var keyword2 string
|
|
|
- var keyword3 string
|
|
|
- var keyword4 string
|
|
|
- var keyword5 string
|
|
|
-
|
|
|
- detail, e := models.GetCygxApplyRecordByMobile(mobile)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetActivitySignupNomeetingCountList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- //如果是潜在客户就推送可查看详情的模版消息
|
|
|
- if utils.RunMode == "release" {
|
|
|
- if detail.ApplyMethod == 2 {
|
|
|
- redirectUrl = utils.WX_MSG_PATH_APPLY_DETAIL + strconv.Itoa(detail.ApplyRecordId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- openIdArr := make([]string, 0)
|
|
|
- openIdArr = append(openIdArr, itemOpenid.OpenId)
|
|
|
- sendInfo := new(SendWxCategoryTemplate)
|
|
|
-
|
|
|
- keyword1 = realName
|
|
|
- keyword2 = companyName
|
|
|
- keyword3 = "权限申请"
|
|
|
- keyword4 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
- keyword5 = applyMethod
|
|
|
-
|
|
|
- sendInfo.Keywords = []string{keyword1, keyword2, keyword3, keyword4, keyword5}
|
|
|
- sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
- sendInfo.RedirectUrl = redirectUrl
|
|
|
- sendInfo.RedirectTarget = 4
|
|
|
- sendInfo.Resource = mobile
|
|
|
- sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
- sendInfo.OpenIdArr = openIdArr
|
|
|
- err = SendCategoryTemplateMsg(sendInfo)
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
// 用户报名模板消息推送(研选公众号类目模版消息)
|
|
|
func SendNeiRongZuActivitieSignCategoryTemplateMsg(user *models.WxUserItem, activityDetail *models.ActivityDetail) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
- go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,文章ID:", activityDetail.ActivityId), 2)
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,ActivityId:", activityDetail.ActivityId), 2)
|
|
|
fmt.Println(err)
|
|
|
}
|
|
|
}()
|
|
@@ -454,22 +394,18 @@ func SendActivitieCancelSignCategoryTemplateMsg(user *models.WxUserItem, activit
|
|
|
|
|
|
// 发送用户留言提醒
|
|
|
func SendCommentWxCategoryTemplateMsg(req models.AddCygxArticleCommentReq, user *models.WxUserItem, articleInfo *models.ArticleDetail, msgId 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 utils.SendAlarmMsg(fmt.Sprint("发送用户用户留言提醒失败,文章ID:", req.ArticleId), 2)
|
|
|
- utils.FileLog.Info("发送类目模版消息失败,Err:%s", err.Error())
|
|
|
}
|
|
|
}()
|
|
|
|
|
|
companyItem, e := models.GetSellerDetailAllByCompanyId(user.CompanyId)
|
|
|
if e != nil {
|
|
|
+ err = errors.New("GetSellerDetailAllByCompanyId, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
- if companyItem == nil {
|
|
|
- msg = "获取客户所属销售信息失败,UserID:" + strconv.Itoa(user.UserId)
|
|
|
- }
|
|
|
+
|
|
|
var keyword1 string
|
|
|
var keyword2 string
|
|
|
var keyword3 string
|
|
@@ -495,7 +431,7 @@ func SendCommentWxCategoryTemplateMsg(req models.AddCygxArticleCommentReq, user
|
|
|
}
|
|
|
openIdList, e := models.GetMfyxWxOpenIdByMobileList(mobile)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
+ err = errors.New("GetMfyxWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
openIdArr := make([]string, 0)
|
|
@@ -530,6 +466,7 @@ func SendWxCategoryMsgWithAsk(user *models.WxUserItem, activityInfo *models.Acti
|
|
|
|
|
|
companyId := user.CompanyId
|
|
|
var sellerName string
|
|
|
+ sellerName = "--"
|
|
|
//潜在客户、未开权益,已开FICC的客户推给王芳,开通权益的客户推给对应销售
|
|
|
mobile := utils.WxMsgTemplateIdAskMsgMobilePublic
|
|
|
if companyId > 1 {
|
|
@@ -592,64 +529,6 @@ func SendWxCategoryMsgWithAsk(user *models.WxUserItem, activityInfo *models.Acti
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// 线下调研活动扫码签到给对应销售发类目模班消息
|
|
|
-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 = utils.TruncateActivityNameString(activityDetail.ActivityName)
|
|
|
- keyword5 = time.Now().Format(utils.FormatDateTimeMinute2)
|
|
|
-
|
|
|
- openIdList, e := models.GetMfyxWxOpenIdByMobileSliceList(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)
|
|
|
- }
|
|
|
-
|
|
|
- redirectUrl = utils.WX_MSG_PATH_YX_SIGNUP_DETAIL + strconv.Itoa(activityDetail.ActivityId)
|
|
|
-
|
|
|
- keywords := []string{keyword1, keyword2, keyword3, keyword4, keyword5}
|
|
|
- sendInfo := new(SendWxCategoryTemplate)
|
|
|
- sendInfo.Keywords = keywords
|
|
|
- sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdActivitySign
|
|
|
- sendInfo.RedirectTarget = 4
|
|
|
- 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, title string) (err error) {
|
|
|
if interactive == "阅读报告" {
|
|
@@ -787,14 +666,11 @@ func SendWxCategoryMsgWithActivityAsk(companyName, realName, sellerName, askTime
|
|
|
if len(openIdList) == 0 {
|
|
|
return
|
|
|
}
|
|
|
- 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 utils.SendAlarmMsg(fmt.Sprint("发送报告提问消息提醒类目模版消息失败,用户名", realName, "留言ID:", msgId), 2)
|
|
|
utils.FileLog.Info("发送类目模版消息失败,Err:%s", err.Error())
|
|
|
}
|
|
|
- fmt.Println("line 21", err, msg)
|
|
|
}()
|
|
|
var keyword1 string
|
|
|
var keyword2 string
|