Browse Source

Merge branch 'cygx_12.2' of http://8.136.199.33:3000/cxzhang/hongze_clpt into debug

xingzai 1 year ago
parent
commit
06e891a718
5 changed files with 253 additions and 10 deletions
  1. 17 0
      controllers/report.go
  2. 77 0
      services/minutes_summary.go
  3. 69 0
      services/product_interior.go
  4. 77 0
      services/research_summary.go
  5. 13 10
      utils/constants.go

+ 17 - 0
controllers/report.go

@@ -1721,6 +1721,7 @@ func (this *ReportController) ResearchDetail() {
 		}
 	}
 	//go services.AddCygxReportHistoryRecord(user, articleId, "bzyjhz")
+	go services.ResearchSummaryHistoryUserRmind(user, articleId) // 本周研究汇总用户阅读操作操作行为,模板消息推送
 	resp.List = listFirst
 	resp.Detail = detail
 	br.Ret = 200
@@ -1845,6 +1846,7 @@ func (this *ReportController) MinutesDetail() {
 	}
 
 	//go services.AddCygxReportHistoryRecord(user, articleId, "szjyhz")
+	go services.MinutesSummaryHistoryUserRmind(user, articleId) // 上周纪要汇总用户阅读,给销售发消息提醒
 	resp.List = listFirst
 	resp.Detail = detail
 	br.Ret = 200
@@ -2130,6 +2132,18 @@ func (this *MobileReportController) TacticsList() {
 		br.ErrMsg = "获取报告封面图片失败, Err:" + err.Error()
 		return
 	}
+
+	var articleIds []int
+
+	for _, v := range listPublic {
+		if v.Resource == 1 {
+			articleIds = append(articleIds, v.ArticleId)
+		}
+	}
+
+	articleMapPv := services.GetArticleHistoryByArticleId(articleIds)                       //文章Pv
+	articleCollectMap, _ := services.GetCygxArticleCollectMap(user.UserId)                  //用户收藏的文章
+	articleCollectNumMap, _ := services.GetCygxArticleCollectNumMapByArtcileIds(articleIds) //文章收藏的数量
 	listResp := make([]*models.HomeArticle, 0)
 	for _, v := range listPublic {
 		listResp = append(listResp, &models.HomeArticle{
@@ -2140,6 +2154,9 @@ func (this *MobileReportController) TacticsList() {
 			ImgUrlPc:    v.ImgUrlPc,
 			PublishDate: v.PublishDate,
 			Resource:    v.Resource,
+			Pv:          articleMapPv[v.ArticleId],
+			IsCollect:   articleCollectMap[v.ArticleId],
+			CollectNum:  articleCollectNumMap[v.ArticleId],
 		})
 	}
 	if len(listResp) == 0 {

+ 77 - 0
services/minutes_summary.go

@@ -0,0 +1,77 @@
+package services
+
+import (
+	"errors"
+	"fmt"
+	"hongze/hongze_clpt/models"
+	"hongze/hongze_clpt/utils"
+	"strconv"
+)
+
+// 上周纪要汇总用户阅读,给销售发消息提醒
+func MinutesSummaryHistoryUserRmind(user *models.WxUserItem, articleId int) (err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("上周纪要汇总用户阅读,给销售发消息提醒,模板消息推送 ,ResearchSummaryHistoryUserRmind"+err.Error(), "userId:", user.UserId, "articleId:", articleId), 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
+}

+ 69 - 0
services/product_interior.go

@@ -1,6 +1,7 @@
 package services
 
 import (
+	"errors"
 	"fmt"
 	"hongze/hongze_clpt/models"
 	"hongze/hongze_clpt/utils"
@@ -161,3 +162,71 @@ func GetCygxProductInteriorHistoryListPvMap(productInteriorIs []int) (mapPv map[
 	}
 	return
 }
+
+// 用户产品内测阅读,模板消息推送
+func ProductInteriorHistoryUserRmind(user *models.WxUserItem, productInteriorId int) (err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("用户产品内测阅读,模板消息推送,模板消息推送失败 ,ProductInteriorHistoryUserRmind"+err.Error(), "userId:", user.UserId, "productInteriorId:", productInteriorId), 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.GetCygxProductInteriorDetail(productInteriorId)
+		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_PRODUCTINTERIOR_DETAIL + strconv.Itoa(productInteriorId)
+		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(productInteriorId)
+		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
+}

+ 77 - 0
services/research_summary.go

@@ -0,0 +1,77 @@
+package services
+
+import (
+	"errors"
+	"fmt"
+	"hongze/hongze_clpt/models"
+	"hongze/hongze_clpt/utils"
+	"strconv"
+)
+
+// 本周研究汇总用户阅读操作操作行为,模板消息推送
+func ResearchSummaryHistoryUserRmind(user *models.WxUserItem, articleId int) (err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("本周研究汇总用户阅读操作操作行为,模板消息推送 ,ResearchSummaryHistoryUserRmind"+err.Error(), "userId:", user.UserId, "articleId:", articleId), 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("GetWxOpenIdByMobileList, Err: " + e.Error())
+			return
+		}
+		detail, e := models.GetCygxResearchSummaryInfoById(articleId)
+		if e != nil {
+			err = errors.New("GetCygxResearchSummaryInfoById, 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
+}

+ 13 - 10
utils/constants.go

@@ -173,16 +173,19 @@ const (
 
 // 模板消息地址路由
 const (
-	WX_MSG_PATH_ARTICLE_DETAIL           = "pageMy/reportDetail/reportDetail?id="                  //文章详情模板消息地址
-	WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL  = "activityPages/specialDetail/specialDetail?id="         //专项调研活动模板消息地址
-	WX_MSG_PATH_ACTIVITY_INDUSTRYR_EPORT = "reportPages/IndustryReport/IndustryReport?id="         //产业文章列表模板消息地址
-	WX_MSG_PATH_ACTIVITY_DETAIL          = "activityPages/activityDetail/activityDetail?id="       //活动模板消息地址
-	WX_MSG_PATH_APPLY_DETAIL             = "pages-message/applyFor/applyFor?id="                   //潜在用户试用权限申请
-	WX_MSG_PATH_YX_SURVEY_DETAIL         = "pages-purchaser/survey/surveyDetail?surveyId="         //用户提交研选调研需求
-	WX_MSG_PATH_APPLY_COLLECTION_DETAIL  = "reportPages/bulletinDetail/bulletinDetail?id="         //精选看板申请详情页
-	WX_MSG_PATH_YX_SPECIAL_DETAIL        = "pages-purchaser/noteAndViewpoint/noteAndViewpoint?id=" //研选专栏详情
-	WX_MSG_PATH_YX_SPECIAL_ENABLE_DETAIL = "pages-purchaser/toExamine/toExamine?isMessage=模板&id="  //研选专栏审核详情页面
-	WX_MSG_PATH_YX_SPECIAL_CENTER        = "pages-purchaser/contentAllPage/contentAllPage"         //研选专栏内容中心
+	WX_MSG_PATH_ARTICLE_DETAIL           = "pageMy/reportDetail/reportDetail?id="                         //文章详情模板消息地址
+	WX_MSG_PATH_ACTIVITY_SPECIAL_DETAIL  = "activityPages/specialDetail/specialDetail?id="                //专项调研活动模板消息地址
+	WX_MSG_PATH_ACTIVITY_INDUSTRYR_EPORT = "reportPages/IndustryReport/IndustryReport?id="                //产业文章列表模板消息地址
+	WX_MSG_PATH_ACTIVITY_DETAIL          = "activityPages/activityDetail/activityDetail?id="              //活动模板消息地址
+	WX_MSG_PATH_APPLY_DETAIL             = "pages-message/applyFor/applyFor?id="                          //潜在用户试用权限申请
+	WX_MSG_PATH_YX_SURVEY_DETAIL         = "pages-purchaser/survey/surveyDetail?surveyId="                //用户提交研选调研需求
+	WX_MSG_PATH_APPLY_COLLECTION_DETAIL  = "reportPages/bulletinDetail/bulletinDetail?id="                //精选看板申请详情页
+	WX_MSG_PATH_YX_SPECIAL_DETAIL        = "pages-purchaser/noteAndViewpoint/noteAndViewpoint?id="        //研选专栏详情
+	WX_MSG_PATH_YX_SPECIAL_ENABLE_DETAIL = "pages-purchaser/toExamine/toExamine?isMessage=模板&id="         //研选专栏审核详情页面
+	WX_MSG_PATH_YX_SPECIAL_CENTER        = "pages-purchaser/contentAllPage/contentAllPage"                //研选专栏内容中心
+	WX_MSG_PATH_PRODUCTINTERIOR_DETAIL   = "reportPages/internalDetials/internalDetials?id="              //产品内测详情模板消息地址
+	WX_MSG_PATH_THIS_WEEK_DETAIL         = "reportPages/reportSecretDetail/reportSecretDetail?type=2&id=" //本周研究汇总详情模板消息地址
+	WX_MSG_PATH_LAST_WEEK_DETAIL         = "reportPages/reportSecretDetail/reportSecretDetail?type=3&id=" //上周纪要汇总详情模板消息地址
 )
 
 // 微信模板消息推送公共接口的秘钥