Ver Fonte

no message

xingzai há 2 anos atrás
pai
commit
b94f863969

+ 3 - 0
controllers/activity.go

@@ -4519,6 +4519,7 @@ func (this *ActivityCoAntroller) ActivityVoiceHistoryAdd() {
 			br.ErrMsg = "更新失败,Err:" + err.Error()
 			return
 		}
+		go services.ActivityVideoUserRmind(user, activityId, 2)
 	}
 	br.Ret = 200
 	br.Success = true
@@ -4598,6 +4599,8 @@ func (this *ActivityCoAntroller) ActivityVideoHistoryAdd() {
 		br.ErrMsg = "更新失败,Err:" + err.Error()
 		return
 	}
+
+	go services.ActivityVideoUserRmind(user, activityId, 1)
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 1 - 0
controllers/micro_roadshow.go

@@ -267,6 +267,7 @@ func (this *MicroRoadShowController) VideoHistoryAdd() {
 				return
 			}
 		}
+		go services.MicroRoadshowVideoUserRmind(user, videoId)
 	} else if sourceType == 2 {
 		err = services.AddActivityVideoHistory(user, videoId)
 		if err != nil {

+ 28 - 0
models/micro_roadshow.go

@@ -13,6 +13,34 @@ type MicroRoadShowListResp struct {
 	List   []*MicroRoadShowPageList
 }
 
+type CygxMicroRoadshowVideo struct {
+	VideoId             int       `orm:"column(video_id);pk"description:"微路演视频id"`
+	VideoName           string    `description:"视频名称"`
+	ChartPermissionId   int       `description:"行业Id"`
+	ChartPermissionName string    `description:"行业名称"`
+	IndustryId          int       `description:"产业id"`
+	IndustryName        string    `description:"产业名称"`
+	PublishStatus       int       `description:"发布状态 1发布 0没有"`
+	ModifyDate          string    `description:"更新时间"`
+	PublishDate         time.Time `description:"发布时间"`
+	VideoDuration       string    `description:"视频时长"`
+	VideoCounts         int       `description:"播放量"`
+	VideoUrl            string    `description:"视频地址"`
+	CreateTime          string    `description:"创建时间"`
+	ImgUrl              string    `description:"视频封面图"`
+	ShareImgUrl         string    `description:"视频分享图"`
+	DetailImgUrl        string    `description:"产业详情页背景图"`
+	CommentNum          int       `description:"留言总数"`
+	IsSendWxMsg         int       `description:"是否推送过微信模板消息,1是,0:否"`
+}
+
+func GetMicroRoadshowVideoByVideoId(videoId int) (item *CygxMicroRoadshowVideo, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * from cygx_micro_roadshow_video where video_id = ? `
+	err = o.Raw(sql, videoId).QueryRow(&item)
+	return
+}
+
 // MicroRoadShowPageList 微路演列表
 type MicroRoadShowPageList struct {
 	Id                  int    `description:"音视频ID"`

+ 74 - 0
services/activity.go

@@ -1694,3 +1694,77 @@ func GetActivityVideoResp(mapActivityId []int) (mapItem map[int]*models.CygxActi
 	mapItem = mapActivityVideo
 	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, e := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
+		if e != nil {
+			err = errors.New("GetSellerByAdminId, Err: " + e.Error())
+			return
+		}
+		activityInfo, e := models.GetAddActivityInfoById(activityId)
+		if e != nil {
+			err = errors.New("GetCygxActivitySpecialDetailById, Err: " + e.Error())
+			return
+		}
+		if activityInfo == nil {
+			return
+		}
+		//TripStatus            int    `description:"行程进行状态 1:预报名,2:确定行程"`
+		if fileType == 1 {
+			first = fmt.Sprint(user.RealName, "--", user.CompanyName, ",有新的互动:播放视频")
+		} else {
+			first = fmt.Sprint(user.RealName, "--", user.CompanyName, ",有新的互动:播放音频")
+		}
+		keyword1 = activityInfo.ActivityName
+		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 {
+			return
+		}
+	}
+	return
+}

+ 1 - 1
services/activity_special_trip.go

@@ -188,7 +188,7 @@ func ActivitySpecialUserRmind(user *models.WxUserItem, activityId, TripStatus in
 		sendInfo.Keyword3 = keyword3
 		sendInfo.Keyword4 = keyword4
 		sendInfo.Remark = remark
-		sendInfo.TemplateId = utils.WxMsgTemplateIdAskMsgXzs
+		sendInfo.TemplateId = utils.WxMsgTemplateIdArticleUserRemind
 		sendInfo.RedirectUrl = redirectUrl
 		sendInfo.RedirectTarget = 3
 		sendInfo.Resource = strconv.Itoa(activityId)

+ 70 - 0
services/micro_roadshow.go

@@ -6,6 +6,7 @@ import (
 	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
+	"strconv"
 	"strings"
 )
 
@@ -411,3 +412,72 @@ func GetindustryVideo(user *models.WxUserItem, industrialManagementId int) (indu
 	AuthInfo = au
 	return
 }
+
+//用户微路演视频回放操作操作行为,模板消息推送
+func MicroRoadshowVideoUserRmind(user *models.WxUserItem, videoId 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, e := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
+		if e != nil {
+			err = errors.New("GetSellerByAdminId, Err: " + e.Error())
+			return
+		}
+		videoInfo, e := models.GetMicroRoadshowVideoByVideoId(videoId)
+		if e != nil {
+			err = errors.New("GetCygxActivitySpecialDetailById, Err: " + e.Error())
+			return
+		}
+		if videoInfo == nil {
+			return
+		}
+		first = fmt.Sprint(user.RealName, "--", user.CompanyName, ",有新的互动:播放微路演详视频")
+		keyword1 = videoInfo.VideoName
+		keyword2 = "__"
+		remark = "微路演详情"
+		openIdArr := make([]string, 0)
+		for _, v := range openIdList {
+			openIdArr = append(openIdArr, v.OpenId)
+		}
+		redirectUrl := utils.WX_MSG_PATH_ACTIVITY_INDUSTRYR_EPORT + strconv.Itoa(videoInfo.IndustryId)
+		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(videoId)
+		sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
+		sendInfo.OpenIdArr = openIdArr
+		err = PublicSendTemplateMsg(sendInfo)
+		if err != nil {
+			return
+		}
+	}
+	return
+}