xingzai 1 tahun lalu
induk
melakukan
7fc7a963fe

+ 4 - 0
controllers/report.go

@@ -1907,6 +1907,8 @@ func (this *ReportController) ResearchDetail() {
 	//	historyRecord.SellerName = sellerItem.RealName
 	//}
 	//go models.AddCygxReportHistoryRecord(historyRecord)
+
+	go services.ResearchSummaryHistoryUserRmind(user, articleId) // 本周研究汇总用户阅读操作操作行为,模板消息推送
 	resp.List = listFirst
 	resp.Detail = detail
 	br.Ret = 200
@@ -2055,6 +2057,8 @@ func (this *ReportController) MinutesDetailV4() {
 	//	historyRecord.SellerName = sellerItem.RealName
 	//}
 	//go models.AddCygxReportHistoryRecord(historyRecord)
+
+	go services.MinutesSummaryHistoryUserRmind(user, articleId) // 上周纪要汇总用户阅读,给销售发消息提醒
 	resp.List = listFirst
 	resp.Detail = detail
 	br.Ret = 200

+ 9 - 0
controllers/tactics.go

@@ -112,7 +112,16 @@ func (this *TacticsController) List() {
 		}
 	}
 
+	articleMapPv := services.GetArticleHistoryByArticleId(articleIds)                       //文章Pv
+	articleCollectMap, _ := services.GetCygxArticleCollectMap(user.UserId)                  //用户收藏的文章
+	articleCollectNumMap, _ := services.GetCygxArticleCollectNumMapByArtcileIds(articleIds) //文章收藏的数量
+
 	for _, v := range list {
+		if v.Resource == 1 {
+			v.Pv = articleMapPv[v.ArticleId]
+			v.IsCollect = articleCollectMap[v.ArticleId]
+			v.CollectNum = articleCollectNumMap[v.ArticleId]
+		}
 		if v.Resource == 2 {
 			v.PublishDate = utils.TimeRemoveHms2(v.PublishDate)
 		}

+ 8 - 0
models/cygx_morning_meeting_review_chapter.go

@@ -20,6 +20,14 @@ type CygxMorningMeetingReviewChapter struct {
 	Content              string    `json:"content"`             // 内容
 }
 
+// 通过ID获取详情
+func GetCygxMorningMeetingReviewChapterDetail(id int) (item *CygxMorningMeetingReviewChapter, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_morning_meeting_review_chapter  WHERE id =? `
+	err = o.Raw(sql, id).QueryRow(&item)
+	return
+}
+
 // 列表
 func GetCygxMorningMeetingReviewChapterList(condition string, pars []interface{}) (items []*CygxMorningMeetingGatherDetailListResp, err error) {
 	o := orm.NewOrm()

+ 1 - 0
models/morning_meeting_review_chapter_history.go

@@ -19,6 +19,7 @@ type CygxMorningMeetingReviewChapterHistory struct {
 	SourcePage       string    `description:"页面来源 微信、首页、展开"`
 	RegisterPlatform int       `description:"来源 1小程序,2:网页"`
 	ModifyTime       time.Time `description:"更新时间"`
+	MeetingId        int       `description:"晨会精华主表ID"`
 }
 
 type AddCygxMorningMeetingReviewChapterHistoryReq struct {

+ 77 - 0
services/minutes_summary.go

@@ -0,0 +1,77 @@
+package services
+
+import (
+	"errors"
+	"fmt"
+	"hongze/hongze_cygx/models"
+	"hongze/hongze_cygx/utils"
+	"strconv"
+)
+
+// 上周纪要汇总用户阅读,给销售发消息提醒
+func MinutesSummaryHistoryUserRmind(user *models.WxUserItem, articleId 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
+		}
+		detail, e := models.GetCygxMinutesSummaryInfoById(articleId)
+		if e != nil {
+			err = errors.New("GetCygxProductInteriorDetail, Err: " + e.Error())
+			return
+		}
+		if detail == nil {
+			return
+		}
+		keyword1 = detail.Title
+		keyword2 = fmt.Sprint("互动:阅读报告,", user.RealName, "--", user.CompanyName)
+		openIdArr := make([]string, 0)
+		for _, v := range openIdList {
+			openIdArr = append(openIdArr, v.OpenId)
+		}
+		redirectUrl := utils.WX_MSG_PATH_LAST_WEEK_DETAIL + strconv.Itoa(articleId)
+		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(articleId)
+		sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
+		sendInfo.OpenIdArr = openIdArr
+		e = PublicSendTemplateMsg(sendInfo)
+		if e != nil {
+			err = errors.New("PublicSendTemplateMsg, Err: " + e.Error())
+			return
+		}
+	}
+	return
+}

+ 6 - 0
services/morning_meeting.go

@@ -80,6 +80,11 @@ func AddCygxMorningMeetingReviewChapterHistory(user *models.WxUserItem, articleI
 			go utils.SendAlarmMsg(fmt.Sprint("添加晨会点评点击记录失败 ,AddCygxMorningMeetingReviewChapterHistory err"+err.Error(), "id:", articleId, "sourcePage:", sourcePage, "userid:", user.UserId), 2)
 		}
 	}()
+	detail, e := models.GetCygxMorningMeetingReviewChapterDetail(articleId)
+	if e != nil {
+		err = errors.New("GetCygxMorningMeetingReviewChapterDetail, Err: " + e.Error())
+		return
+	}
 	historyRecord := new(models.CygxMorningMeetingReviewChapterHistory)
 	historyRecord.UserId = user.UserId
 	historyRecord.ArticleId = articleId
@@ -89,6 +94,7 @@ func AddCygxMorningMeetingReviewChapterHistory(user *models.WxUserItem, articleI
 	historyRecord.Email = user.Email
 	historyRecord.CompanyId = user.CompanyId
 	historyRecord.CompanyName = user.CompanyName
+	historyRecord.MeetingId = int(detail.MeetingId)
 	historyRecord.RegisterPlatform = utils.REGISTER_PLATFORM
 	sellerItem, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
 	if e != nil && e.Error() != utils.ErrNoRow() {

+ 77 - 0
services/research_summary.go

@@ -0,0 +1,77 @@
+package services
+
+import (
+	"errors"
+	"fmt"
+	"hongze/hongze_cygx/models"
+	"hongze/hongze_cygx/utils"
+	"strconv"
+)
+
+// 本周研究汇总用户阅读操作操作行为,模板消息推送
+func ResearchSummaryHistoryUserRmind(user *models.WxUserItem, articleId 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
+		}
+		detail, e := models.GetCygxResearchSummaryInfoById(articleId)
+		if e != nil {
+			err = errors.New("GetCygxProductInteriorDetail, Err: " + e.Error())
+			return
+		}
+		if detail == nil {
+			return
+		}
+		keyword1 = detail.Title
+		keyword2 = fmt.Sprint("互动:阅读报告,", user.RealName, "--", user.CompanyName)
+		openIdArr := make([]string, 0)
+		for _, v := range openIdList {
+			openIdArr = append(openIdArr, v.OpenId)
+		}
+		redirectUrl := utils.WX_MSG_PATH_THIS_WEEK_DETAIL + strconv.Itoa(articleId)
+		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(articleId)
+		sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
+		sendInfo.OpenIdArr = openIdArr
+		e = PublicSendTemplateMsg(sendInfo)
+		if e != nil {
+			err = errors.New("PublicSendTemplateMsg, Err: " + e.Error())
+			return
+		}
+	}
+	return
+}