|
@@ -315,6 +315,11 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
|
|
|
|
|
|
// 根据用户身份处理活动可见
|
|
|
func ActivityConditioninitSql(user *models.WxUserItem, condition string, isPower int) (conditionActivity string, err error) {
|
|
|
+ // cygx_10.9 未绑定联系方式的客户可以看到部分活动
|
|
|
+ if user.UserId == 0 || user.CompanyId == 1 {
|
|
|
+ conditionActivity = ` AND art.publish_status = 1 AND art.visible_range != 1 AND (art.is_limit_people = 0 OR (art.is_limit_people=1 AND art.is_all_customer_type=1)) ` + condition
|
|
|
+ return
|
|
|
+ }
|
|
|
condition += ` AND art.publish_status = 1 `
|
|
|
conditionActivity = condition
|
|
|
//弘则可以查看所有活动
|
|
@@ -1329,16 +1334,41 @@ func GetActivityVideoDetailById(user *models.WxUserItem, videoId int) (industryV
|
|
|
func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.ActivityDetail, 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.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "ActivityUserRemind ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
}
|
|
|
}()
|
|
|
- countUser, err := models.GetUserRemind(user.UserId)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
+
|
|
|
+ //获取销售手机号
|
|
|
+
|
|
|
+ countUser, e := models.GetUserRemind(user.UserId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetUserRemind, Err: " + e.Error())
|
|
|
+ return
|
|
|
}
|
|
|
- if countUser == 0 {
|
|
|
- return err
|
|
|
+ // 如果是买方研选下的专家沙龙,同时推给内容组四人
|
|
|
+ if activityDetail.ActivityTypeId == 5 {
|
|
|
+ go SendNeiRongZuActivitieSignTemplateMsg(user, activityDetail)
|
|
|
+ }
|
|
|
+ //获取销售手机号
|
|
|
+ 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 {
|
|
|
+ err = nil
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //某销售下的所有客户活动报名/预约外呼时,模板消息提醒该销售(可设置销售范围,随时增减销售)
|
|
|
+ conf, e := models.GetConfigByCode("tpl_msg_seller_mobile")
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetConfigByCode, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //如果用户没有设置消息提醒,而且销售的手机号也没有添加到配置中,那么就不推送模版消息
|
|
|
+ if countUser == 0 && !strings.Contains(conf.ConfigValue, sellerItemQy.Mobile) {
|
|
|
+ err = nil
|
|
|
+ return
|
|
|
}
|
|
|
var sourceMsg string
|
|
|
if source == 1 {
|
|
@@ -1351,22 +1381,102 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
|
|
|
sourceMsg = "活动报名"
|
|
|
}
|
|
|
|
|
|
+ openIdList, e := models.GetUserRecordListByMobile(4, sellerItemQy.Mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetUserRecordListByMobile, Err: " + e.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ keyword1 = activityDetail.ActivityName
|
|
|
+ keyword2 = fmt.Sprint("互动:", sourceMsg, ",", user.RealName, "--", user.CompanyName)
|
|
|
+ SendWxMsgWithActivityUserRemind(keyword1, keyword2, openIdList, activityDetail.ActivityId)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 用户音视频回放操作操作行为,模板消息推送
|
|
|
+func ActivityVideoUserRmind(user *models.WxUserItem, activityId, fileType int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg("用户音视频回放操作操作行为,模板消息推送失败"+err.Error(), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ countUser, err := models.GetUserRemind(user.UserId)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if countUser == 0 {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ var first string
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var remark string
|
|
|
//获取销售手机号
|
|
|
sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
return err
|
|
|
}
|
|
|
if sellerItemQy != nil {
|
|
|
- openIdList, err := models.GetUserRecordListByMobile(4, sellerItemQy.Mobile)
|
|
|
+ openIdList, e := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //TripStatus int `description:"行程进行状态 1:预报名,2:确定行程"`
|
|
|
+ if fileType == 1 {
|
|
|
+ activityInfo, e := models.GetCygxActivityVideoByActivityId(activityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxActivitySpecialDetailById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if activityInfo == nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyword1 = activityInfo.VideoName
|
|
|
+ keyword2 = fmt.Sprint("互动:播放视频,", user.RealName, "--", user.CompanyName)
|
|
|
+ first = fmt.Sprint(user.RealName, "--", user.CompanyName, ",有新的互动:播放视频")
|
|
|
+
|
|
|
+ } else {
|
|
|
+ activityInfo, e := models.GetCygxActivityVoiceByActivityId(activityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxActivitySpecialDetailById, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if activityInfo == nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyword1 = activityInfo.VoiceName
|
|
|
+ keyword2 = fmt.Sprint("互动:播放音频,", user.RealName, "--", user.CompanyName)
|
|
|
+ first = fmt.Sprint(user.RealName, "--", user.CompanyName, ",有新的互动:播放音频")
|
|
|
+ }
|
|
|
+
|
|
|
+ //keyword2 = "__"
|
|
|
+ //remark = "点击查看活动详情"
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL + strconv.Itoa(activityId)
|
|
|
+ sendInfo := new(SendWxTemplate)
|
|
|
+ sendInfo.First = first
|
|
|
+ sendInfo.Keyword1 = keyword1
|
|
|
+ sendInfo.Keyword2 = keyword2
|
|
|
+ sendInfo.Keyword3 = keyword3
|
|
|
+ sendInfo.Keyword4 = keyword4
|
|
|
+ sendInfo.Remark = remark
|
|
|
+ sendInfo.TemplateId = utils.WxMsgTemplateIdArticleUserRemind
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.Resource = strconv.Itoa(activityId)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = PublicSendTemplateMsg(sendInfo)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- return err
|
|
|
- }
|
|
|
- var keyword1 string
|
|
|
- var keyword2 string
|
|
|
- keyword1 = activityDetail.ActivityName
|
|
|
- keyword2 = fmt.Sprint(user.RealName, "--", user.CompanyName, ",有新的互动:", sourceMsg)
|
|
|
- SendWxMsgWithActivityUserRemind(keyword1, keyword2, openIdList, activityDetail.ActivityId)
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
return
|
|
|
}
|