ziwen 2 年之前
父节点
当前提交
609198121b
共有 2 个文件被更改,包括 138 次插入132 次删除
  1. 103 132
      controllers/report.go
  2. 35 0
      services/wx_template_msg.go

+ 103 - 132
controllers/report.go

@@ -528,7 +528,7 @@ func (this *ReportController) ArticleCategoryList() {
 	//}
 
 	//时间线
-	if showTimeLine == 1{
+	if showTimeLine == 1 {
 		timeLineItem := models.IndustrialToArticleCategoryRep{
 			CategoryId:    99999,
 			MatchTypeName: "时间线",
@@ -603,92 +603,92 @@ func (this *ReportController) List() {
 	if categoryId != 99999 {
 		resp := new(models.TacticsListResp)
 		//获取该产业下所对应的行业图片
-	detail, errCategory := models.GetdetailByCategoryIdOne(categoryId)
-	if errCategory != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
-		return
-	}
-	//对应行业的图片
-	detailChartPermissionUrl, err := models.GetConfigByCode("category_chart_permissionimg_url")
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
-		return
-	}
-	chartPermissionUrlList := strings.Split(detailChartPermissionUrl.ConfigValue, "{|}")
-	mapChartPermission := make(map[string]string)
-	var permissionName string
-	var imgUrlChartPermission string
-	for _, v := range chartPermissionUrlList {
-		vslice := strings.Split(v, "_")
-		permissionName = vslice[0]
-		imgUrlChartPermission = vslice[len(vslice)-1]
-		mapChartPermission[permissionName] = imgUrlChartPermission
-	}
-
-	total, err = models.GetReportIndustrialCount(categoryId, industrialManagementId)
-	if err != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
-		return
-	}
-	page = paging.GetPaging(currentIndex, pageSize, total)
-	list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
-	if err != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
-		return
-	}
-	//对应分类的所图片
-	detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
-		return
-	}
-	categoryUrlList := strings.Split(detailCategoryUrl.ConfigValue, "{|}")
-	mapCategoryUrl := make(map[string]string)
-	var categoryIdStr string
-	var imgUrlChart string
-	for _, v := range categoryUrlList {
-		vslice := strings.Split(v, "_")
-		categoryIdStr = vslice[0]
-		imgUrlChart = vslice[len(vslice)-1]
-		mapCategoryUrl[categoryIdStr] = imgUrlChart
-	}
-	lenList := len(list)
-	for i := 0; i < lenList; i++ {
-		item := list[i]
-		list[i].Body, _ = services.GetReportContentTextSub(item.Body)
-		//list[i].Abstract = html.UnescapeString(item.Abstract)
-		list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
-	}
+		detail, errCategory := models.GetdetailByCategoryIdOne(categoryId)
+		if errCategory != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
+			return
+		}
+		//对应行业的图片
+		detailChartPermissionUrl, err := models.GetConfigByCode("category_chart_permissionimg_url")
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
+			return
+		}
+		chartPermissionUrlList := strings.Split(detailChartPermissionUrl.ConfigValue, "{|}")
+		mapChartPermission := make(map[string]string)
+		var permissionName string
+		var imgUrlChartPermission string
+		for _, v := range chartPermissionUrlList {
+			vslice := strings.Split(v, "_")
+			permissionName = vslice[0]
+			imgUrlChartPermission = vslice[len(vslice)-1]
+			mapChartPermission[permissionName] = imgUrlChartPermission
+		}
 
-	for k, v := range list {
-		if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
-			list[k].IsRed = true
+		total, err = models.GetReportIndustrialCount(categoryId, industrialManagementId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
+			return
 		}
-		if v.VideoUrl != "" {
-			list[k].IsHaveVideo = true
+		page = paging.GetPaging(currentIndex, pageSize, total)
+		list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
+			return
+		}
+		//对应分类的所图片
+		detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
+			return
+		}
+		categoryUrlList := strings.Split(detailCategoryUrl.ConfigValue, "{|}")
+		mapCategoryUrl := make(map[string]string)
+		var categoryIdStr string
+		var imgUrlChart string
+		for _, v := range categoryUrlList {
+			vslice := strings.Split(v, "_")
+			categoryIdStr = vslice[0]
+			imgUrlChart = vslice[len(vslice)-1]
+			mapCategoryUrl[categoryIdStr] = imgUrlChart
+		}
+		lenList := len(list)
+		for i := 0; i < lenList; i++ {
+			item := list[i]
+			list[i].Body, _ = services.GetReportContentTextSub(item.Body)
+			//list[i].Abstract = html.UnescapeString(item.Abstract)
+			list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
 		}
-		list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
 
-		if mapCategoryUrl[v.CategoryId] == "" {
-			if detail.ChartPermissionId == utils.YI_YAO_ID {
-				list[k].ImgUrlPc = utils.YI_YAO_QI_TA
+		for k, v := range list {
+			if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
+				list[k].IsRed = true
+			}
+			if v.VideoUrl != "" {
+				list[k].IsHaveVideo = true
+			}
+			list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
+
+			if mapCategoryUrl[v.CategoryId] == "" {
+				if detail.ChartPermissionId == utils.YI_YAO_ID {
+					list[k].ImgUrlPc = utils.YI_YAO_QI_TA
+				}
 			}
 		}
-	}
 
-	resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
-	resp.ChartPermissionId = detail.ChartPermissionId
-	resp.List = list
-	resp.Paging = page
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resp
+		resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
+		resp.ChartPermissionId = detail.ChartPermissionId
+		resp.List = list
+		resp.Paging = page
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
 	} else {
 		//获取该产业下所对应的行业图片
 		//因为时间线不属于数据表里的二级分类,所以图片Id用产业id查到的list中的任意一个categoryId取到的图片替代
@@ -699,14 +699,14 @@ func (this *ReportController) List() {
 			return
 		}
 		var timeLineCategoryId int
-		if len(categoryList) > 0{
+		if len(categoryList) > 0 {
 			timeLineCategoryId = categoryList[0].CategoryId
 		}
 
 		var detail *models.ReportMapping
 		var errCategory error
 
-		if timeLineCategoryId >0 {
+		if timeLineCategoryId > 0 {
 			detail, errCategory = models.GetdetailByCategoryIdOne(timeLineCategoryId)
 			if errCategory != nil {
 				br.Msg = "获取信息失败"
@@ -789,7 +789,6 @@ func (this *ReportController) List() {
 			}
 		}
 
-
 		resp := new(models.TimeLineReportListResp)
 		resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
 
@@ -3134,57 +3133,29 @@ func (this *ReportController) CommentAdd() {
 		return
 	}
 
-	//var isSendMsg bool
-	//resultTime := utils.StrTimeToTime(articleInfo.PublishDate) //时间字符串格式转时间格式
-	//if activityInfo.ActivityTypeId == 1 && activityInfo.ChartPermissionId != 31 {
-	//	if time.Now().After(resultTime.Add(-time.Minute * 15)) {
-	//		isSendMsg = true
-	//	}
-	//} else {
-	//	if time.Now().After(resultTime.Add(-time.Minute * 60)) {
-	//		isSendMsg = true
+	//
+	//var sendMobile string
+	//for _, v := range listEmail {
+	//	if strings.Index(activityInfo.Host, v.Name) > 0 {
+	//		sendMobile = v.Mobile
 	//	}
 	//}
-	//if isSendMsg {
-	//	listEmail, err := models.GetAskEmail()
-	//	if err != nil {
-	//		br.Msg = "提交失败"
-	//		br.ErrMsg = "提交带问失败,Err:" + err.Error()
-	//		return
-	//	}
-	//	var sendMobile string
-	//	for _, v := range listEmail {
-	//		if strings.Index(activityInfo.Host, v.Name) > 0 {
-	//			sendMobile = v.Mobile
-	//		}
-	//	}
-	//	if activityInfo.ChartPermissionId == 31 {
-	//		sendMobile = utils.ActSendMsgMobile
-	//	}
+	//if activityInfo.ChartPermissionId == 31 {
+	//	sendMobile = utils.ActSendMsgMobile
+	//}
 	//
-	//	//获取销售信息
-	//	sellerItem, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
-	//	if err != nil && err.Error() != utils.ErrNoRow() {
-	//		br.Msg = "提交失败"
-	//		br.ErrMsg = "获取销售信息失败,Err:" + err.Error()
-	//		return
-	//	}
-	//	//给研究员发送消息
-	//	if sendMobile != "" {
-	//		openIpItem, _ := models.GetUserRecordByMobile(4, sendMobile)
-	//		if openIpItem != nil && openIpItem.OpenId != "" {
-	//			if sellerItem != nil {
-	//				//services.SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", time.Now().Format(utils.FormatDateTime), req.Content, activityInfo.ActivityName, activityInfo.ActivityId, openIpItem)
-	//				services.SendActivityAskApplyTemplateMsgV2(user.RealName+"——"+user.CompanyName, "所属销售:"+sellerItem.RealName, time.Now().Format(utils.FormatDateTime), req.Content, activityInfo.ActivityName, openIpItem, activityInfo)
-	//			}
-	//		}
-	//	}
-	//	// 给所属销售发送消息
-	//	if sellerItem != nil {
-	//		openIpItem, _ := models.GetUserRecordByMobile(4, sellerItem.Mobile)
-	//		if openIpItem != nil && openIpItem.OpenId != "" {
-	//			services.SendActivityAskApplyTemplateMsgV2(user.RealName+"——"+user.CompanyName, "所属销售:"+sellerItem.RealName, time.Now().Format(utils.FormatDateTime), req.Content, activityInfo.ActivityName, openIpItem, activityInfo)
-	//		}
+	////获取销售信息
+	//sellerItem, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
+	//if err != nil && err.Error() != utils.ErrNoRow() {
+	//	br.Msg = "提交失败"
+	//	br.ErrMsg = "获取销售信息失败,Err:" + err.Error()
+	//	return
+	//}
+	//// 给所属销售发送消息
+	//if sellerItem != nil {
+	//	openIpItem, _ := models.GetUserRecordByMobile(4, sellerItem.Mobile)
+	//	if openIpItem != nil && openIpItem.OpenId != "" {
+	//		services.SendCommentWxTemplateMsg(articleInfo.Title)
 	//	}
 	//}
 
@@ -3212,4 +3183,4 @@ func (this *ReportController) CommentAdd() {
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "提交成功"
-}
+}

+ 35 - 0
services/wx_template_msg.go

@@ -658,3 +658,38 @@ func SendActivityOnenIdWxTemplateMsg(first, keyWord1, keyWord2, keyWord3, keyWor
 	WxSendTemplateMsg(sendUrl, sendMap, openIdList, "", utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
 	return
 }
+
+//发送用户留言提醒
+func SendCommentWxTemplateMsg(keyWord1, keyWord2 string, openIdList []*models.OpenIdList, articleId 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:", articleId), 2)
+			utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
+		}
+	}()
+	accessToken, err := models.GetWxAccessTokenByXzs()
+	if err != nil {
+		msg = "GetWxAccessToken Err:" + err.Error()
+		return
+	}
+	if accessToken == "" {
+		msg = "accessToken is empty"
+		return
+	}
+	var first string
+	first = keyWord1
+	keyword1 := keyWord2
+	sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
+	templateId := utils.WxMsgTemplateIdArticleUserRemind
+	sendMap := make(map[string]interface{})
+	sendData := make(map[string]interface{})
+	sendMap["template_id"] = templateId
+	sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/specialDetail/specialDetail?id=" + strconv.Itoa(articleId)}
+	sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"}
+	sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": "#173177"}
+	sendMap["data"] = sendData
+	WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(articleId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
+	return
+}