瀏覽代碼

相同文章策略平台多次推送时,模板消息只推送一条

xingzai 2 年之前
父節點
當前提交
1b72178756
共有 2 個文件被更改,包括 15 次插入15 次删除
  1. 4 4
      models/article_celue_push.go
  2. 11 11
      services/article.go

+ 4 - 4
models/article_celue_push.go

@@ -15,15 +15,15 @@ type CygxArticleCeluePush struct {
 
 func GetArticleCeluePushList() (item []*CygxArticleCeluePush, err error) {
 	o := orm.NewOrm()
-	sql := ` SELECT *  FROM	cygx_article_celue_push WHERE	is_handle = 0   `
+	sql := ` SELECT *  FROM	cygx_article_celue_push WHERE	is_handle = 0    GROUP BY article_id   `
 	_, err = o.Raw(sql).QueryRows(&item)
 	return
 }
 
 //更改推送内容是否处理状态
-func UpdateCygxArticleCeluePush(id int) (err error) {
+func UpdateCygxArticleCeluePush(articleId int) (err error) {
 	o := orm.NewOrm()
-	sql := `UPDATE cygx_article_celue_push SET is_handle=1 WHERE id=? `
-	_, err = o.Raw(sql, id).Exec()
+	sql := `UPDATE cygx_article_celue_push SET is_handle=1 WHERE article_id=? `
+	_, err = o.Raw(sql, articleId).Exec()
 	return
 }

+ 11 - 11
services/article.go

@@ -744,7 +744,7 @@ func HandleArticleListByApi(artcleId, celuePushId int) (err error) {
 			fmt.Println("UpdateArticlePublish Err:", err.Error())
 			return err
 		}
-		go models.UpdateCygxArticleCeluePush(celuePushId)
+		go models.UpdateCygxArticleCeluePush(artcleId)
 		return err
 
 	}
@@ -1142,7 +1142,7 @@ func HandleArticleListByApi(artcleId, celuePushId int) (err error) {
 		//查研观向6.9模板消息推送规则
 		go DoArticleOnenIdWxTemplateMsg(v.ArticleId)
 	}
-	go models.UpdateCygxArticleCeluePush(celuePushId)
+	go models.UpdateCygxArticleCeluePush(artcleId)
 
 	return err
 }
@@ -1296,7 +1296,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 			mapActivityUserId := make(map[int]string)
 			if articleInfo.IsSummary == 1 {
 				sliceSubjectId, _ := models.GetSubjectIds(articleId)
-				if sliceSubjectId != ""{
+				if sliceSubjectId != "" {
 					appointmentList, err := models.GetCygxAppointmentSummaryBySubjectId(sliceSubjectId)
 					if err != nil {
 						fmt.Println("GetCygxAppointmentSummaryListBySubjectId Err:", err.Error())
@@ -1321,7 +1321,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 							openIditem := new(models.OpenIdList)
 							openIditem.OpenId = item.OpenId
 							openIditem.UserId = item.UserId
-							if _, ok := mapAlreadySend[openIditem.UserId]; !ok{
+							if _, ok := mapAlreadySend[openIditem.UserId]; !ok {
 								SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
 								delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
 								fmt.Println("AlreadySend:", openIditem.UserId)
@@ -1341,12 +1341,12 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 			}
 			_, ok := mapAlreadySend[openIditem.UserId]
 			//如果有权限而且小助手没有提交过信息的 就做正常推送
-			if mapUserIdChooseSend[openIditem.UserId] == 0  && !ok {
+			if mapUserIdChooseSend[openIditem.UserId] == 0 && !ok {
 				fmt.Println("1:", articleId)
 				SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
 			}
 			//如果小助手勾选了对应的权限信息 就做正常推送
-			if mapUserIdChooseSend[openIditem.UserId] != 0 && mapUserFllowCeLue[openIditem.UserId] != ""  && !ok {
+			if mapUserIdChooseSend[openIditem.UserId] != 0 && mapUserFllowCeLue[openIditem.UserId] != "" && !ok {
 				fmt.Println("2:", articleId)
 				SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
 			}
@@ -1374,7 +1374,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 					if v.IsObjective == 1 {
 						mapUserIdChooseSendType[v.UserId] = v.UserId
 					}
-				}else {
+				} else {
 					if v.IsSubjective == 1 || v.IsObjective == 1 {
 						mapUserIdChooseSendType[v.UserId] = v.UserId
 					}
@@ -1388,7 +1388,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 			mapActivityUserId := make(map[int]string)
 			if articleInfo.IsSummary == 1 {
 				sliceSubjectId, _ := models.GetSubjectIds(articleId)
-				if sliceSubjectId != ""{
+				if sliceSubjectId != "" {
 					appointmentList, err := models.GetCygxAppointmentSummaryBySubjectId(sliceSubjectId)
 					if err != nil {
 						fmt.Println("GetCygxAppointmentSummaryListBySubjectId Err:", err.Error())
@@ -1413,7 +1413,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 							openIditem := new(models.OpenIdList)
 							openIditem.OpenId = item.OpenId
 							openIditem.UserId = item.UserId
-							if _, ok := mapAlreadySend[openIditem.UserId]; !ok{
+							if _, ok := mapAlreadySend[openIditem.UserId]; !ok {
 								SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
 								delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
 								fmt.Println("AlreadySend:", openIditem.UserId)
@@ -1431,7 +1431,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 				//	mapAlreadySend[openIditem.UserId] = openIditem.UserId
 				//}
 			}
-			
+
 			//如果有权限而且小助手没有提交过信息的 就做正常推送
 			_, ok := mapAlreadySend[openIditem.UserId]
 			if mapUserIdChooseSend[openIditem.UserId] == 0 && !ok {
@@ -1496,7 +1496,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 			for _, item := range openidIlist {
 				openIditem.OpenId = item.OpenId
 				openIditem.UserId = item.UserId
-				if _, ok := mapAlreadySend[openIditem.UserId]; !ok{
+				if _, ok := mapAlreadySend[openIditem.UserId]; !ok {
 					SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
 				}
 			}