xingzai 2 anni fa
parent
commit
e263254c3e
5 ha cambiato i file con 67 aggiunte e 138 eliminazioni
  1. 2 0
      models/article.go
  2. 28 0
      models/article_data.go
  3. 1 0
      models/db.go
  4. 1 0
      models/tactics.go
  5. 35 138
      services/article.go

+ 2 - 0
models/article.go

@@ -45,6 +45,7 @@ type CygxArticle struct {
 	FieldName        string `description:"产业标签"`
 	Annotation       string `description:"核心观点"`
 	TypeName         string `description:"策略平台报告类型"`
+	ModifyTimeByCl   string `description:"策略平台报告更新时间"`
 }
 
 type CygxArticleEs struct {
@@ -535,6 +536,7 @@ type ArticleResultApidate struct {
 	Stock         []string                 `json:"stock"`
 	Field         ArticleField             `json:"field"`
 	Corpus        Corpus                   `json:"corpus"`
+	Cover         string                   `json:"cover"`
 }
 
 type ArticleField struct {

+ 28 - 0
models/article_data.go

@@ -0,0 +1,28 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxArticleData struct {
+	Id         int       `orm:"column(id);pk"`
+	ArticleId  int       `description:"文章id"`
+	CreateTime time.Time `description:"创建时间"`
+	Cover      string    `description:"封面图片,公司logo"`
+}
+
+//新增文章
+func AddCygxArticleData(item *CygxArticleData) (lastId int64, err error) {
+	o := orm.NewOrm()
+	lastId, err = o.Insert(item)
+	return
+}
+
+//获取数量
+func GetCygxArticleDataCount(articcleId int) (count int, err error) {
+	o := orm.NewOrm()
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_article_data WHERE article_id=? `
+	err = o.Raw(sqlCount, articcleId).QueryRow(&count)
+	return
+}

+ 1 - 0
models/db.go

@@ -127,6 +127,7 @@ func init() {
 		new(CygxActivityVideoHistory),
 		new(CygxActivitySpecialTrip),
 		new(CygxArticleComment),
+		new(CygxArticleData),
 	)
 	// 记录ORM查询日志
 	orm.Debug = true

+ 1 - 0
models/tactics.go

@@ -82,6 +82,7 @@ type Tactics2 struct {
 	FieldName       string    `description:"产业标签"`
 	File            string    `description:"Pdf下载链接"`
 	TypeName        string    `description:"策略平台报告类型"`
+	UpdateDate      string    `description:"策略平台报告更新时间"`
 }
 
 func GetTacticsList2(endDate string) (list []*Tactics2, err error) {

+ 35 - 138
services/article.go

@@ -742,12 +742,18 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		}
 	}
 	var list []*models.Tactics2
+	var listArticleData []*models.CygxArticleData
 	var listAuthor []*models.CygxArticleAuthor
 
 	//状态等于 2 跟 4 的进行同步
 	if exitMap[articleResult.SeriesId] > 0 && (articleResult.PublishStatus == 2 || articleResult.PublishStatus == 4) {
 		articleResult.PublishDate = time.Date(articleResult.PublishDate.Year(), articleResult.PublishDate.Month(), articleResult.PublishDate.Day(), articleResult.PublishDate.Hour(), articleResult.PublishDate.Minute(), articleResult.PublishDate.Second(), articleResult.PublishDate.Nanosecond(), time.Local)
 		item := new(models.Tactics2)
+		itemArticleData := new(models.CygxArticleData)
+		itemArticleData.ArticleId = articleResult.ArticleId
+		itemArticleData.Cover = articleResult.Cover
+		itemArticleData.CreateTime = time.Now()
+		listArticleData = append(listArticleData, itemArticleData)
 		itemAuthor := new(models.CygxArticleAuthor)
 		item.ArticleId = articleResult.ArticleId
 		item.Title = articleResult.Title
@@ -786,10 +792,12 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		}
 		item.FieldName = articleResult.Field.Name
 		item.TypeName = articleResult.Type.Name
+		item.UpdateDate = articleResult.UpdateDate
 		list = append(list, item)
 		itemAuthor.ArticleId = articleResult.ArticleId
 		itemAuthor.Name = articleResult.Author.Name
 		itemAuthor.Mobile = articleResult.Author.PhoneNumber
+		fmt.Println(articleResult.Cover)
 		listAuthor = append(listAuthor, itemAuthor)
 	} else {
 		// 如果这篇文章没有发布,那么就不作处理。
@@ -800,7 +808,6 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		}
 		go models.UpdateCygxArticleCeluePush(artcleId)
 		return err
-
 	}
 
 	//同步作者
@@ -955,6 +962,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			updateParams["FieldName"] = v.FieldName
 			updateParams["Annotation"] = v.Annotation
 			updateParams["TypeName"] = v.TypeName
+			updateParams["ModifyTimeByCl"] = v.UpdateDate
 			whereParam := map[string]interface{}{"article_id": v.ArticleId}
 			err = models.UpdateByExpr(models.CygxArticle{}, whereParam, updateParams)
 			if err != nil {
@@ -995,6 +1003,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			item.FieldName = v.FieldName
 			item.Annotation = v.Annotation
 			item.TypeName = v.TypeName
+			item.ModifyTimeByCl = v.UpdateDate
 			newId, err := models.AddCygxArticles(item)
 			if err != nil {
 				fmt.Println("AddCygxArticle Err:", err.Error())
@@ -1081,143 +1090,6 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			}
 		}
 
-		//类型ID 医药(医享会:28 、药调研:301)、消费【渠道新声:32】、科技【科技前言:79】、智造【匠心智造:84】或者是纪要做消息模板推送
-		fmt.Println(v.CategoryId)
-		//if v.IsSummary == 1 || (v.CategoryId == 28 || v.CategoryId == 301 || v.CategoryId == 32 || v.CategoryId == 79 || v.CategoryId == 84) {
-		//	sliceSubjects := strings.Split(v.Stock, "/")
-		//	fmt.Println(sliceSubjects)
-		//	if len(sliceSubjects) > 0 {
-		//		var subjectStr string
-		//		for _, vSubject := range sliceSubjects {
-		//			sliceKuohao := strings.Split(vSubject, "(")           //过滤括号
-		//			sliceXiahuaxian := strings.Split(sliceKuohao[0], "-") //过滤下划线
-		//			subject := sliceXiahuaxian[0]
-		//			subjectStr += "'" + subject + "',"
-		//		}
-		//		if subjectStr != "" {
-		//			subjectStr = strings.TrimRight(subjectStr, ",")
-		//			activityIdList, err := models.GetActivityIdListBySubjecName(subjectStr)
-		//			if err != nil {
-		//				fmt.Println("GetActivityIdListBySubjecName Err:", err.Error())
-		//				return err
-		//			}
-		//			if len(activityIdList) > 0 {
-		//				var activityIdStr string
-		//				for _, vAct := range activityIdList {
-		//					activityIdStr += strconv.Itoa(vAct.ActivityId) + ","
-		//				}
-		//				activityIdStr = strings.TrimRight(activityIdStr, ",")
-		//				if activityIdStr != "" {
-		//					appointmentList, err := models.GetAppointmentListByActivityId(activityIdStr, "1,2,5")
-		//					if err != nil {
-		//						fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//						return err
-		//					}
-		//					if len(appointmentList) > 0 {
-		//						for _, vApp := range appointmentList {
-		//
-		//							appointmentByMobileList, err := models.GetAppointmentListByActivityIdAndMobile(activityIdStr, vApp.Mobile)
-		//							if err != nil {
-		//								fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//								return err
-		//							}
-		//							var appointmentActivityName string
-		//							if len(appointmentByMobileList) > 0 {
-		//								for _, vAppM := range appointmentByMobileList {
-		//									appointmentActivityName += vAppM.ActivityName + ","
-		//								}
-		//							}
-		//							appointmentActivityName = strings.TrimRight(appointmentActivityName, ",")
-		//							if vApp.ActivityTypeId == 5 && v.CategoryId != 301 {
-		//								continue
-		//							}
-		//
-		//							if vApp.Mobile != "" {
-		//								openIdListByAppointment, err := models.GetUserRecordListByMobile(4, vApp.Mobile)
-		//								if err != nil {
-		//									fmt.Println(err)
-		//									return err
-		//								}
-		//								keyword1 := "您预约的调研,有关联的纪要发布/更新了"
-		//								keyword2 := appointmentActivityName
-		//								keyword3 := v.Title
-		//								keyword4 := v.PublishDate.Format(utils.FormatDateTime)
-		//								SendWxMsgWithArticleClassToAdmin(keyword1, keyword2, keyword3, keyword4, openIdListByAppointment, artcleId)
-		//							}
-		//						}
-		//					}
-		//				}
-		//			}
-		//		}
-		//	}
-		//}
-		//
-		////【公司调研】系列纪要发布/更新后
-		//if v.CategoryId == 45 || v.CategoryId == 74 || v.CategoryId == 86 || v.CategoryId == 88 {
-		//	fmt.Println("处理预约纪要")
-		//	sliceSubjects := strings.Split(v.Stock, "/")
-		//	if len(sliceSubjects) > 0 {
-		//		var subjectStr string
-		//		for _, vSubject := range sliceSubjects {
-		//			sliceKuohao := strings.Split(vSubject, "(")           //过滤括号
-		//			sliceXiahuaxian := strings.Split(sliceKuohao[0], "-") //过滤下划线
-		//			subject := sliceXiahuaxian[0]
-		//			subjectStr += "'" + subject + "',"
-		//		}
-		//		if subjectStr != "" {
-		//			subjectStr = strings.TrimRight(subjectStr, ",")
-		//			activityIdList, err := models.GetActivityIdListBySubjecName(subjectStr)
-		//			if err != nil {
-		//				fmt.Println("GetActivityIdListBySubjecName Err:", err.Error())
-		//				return err
-		//			}
-		//			if len(activityIdList) > 0 {
-		//				var activityIdStr string
-		//				for _, vAct := range activityIdList {
-		//					activityIdStr += strconv.Itoa(vAct.ActivityId) + ","
-		//				}
-		//				activityIdStr = strings.TrimRight(activityIdStr, ",")
-		//				if activityIdStr != "" {
-		//					appointmentList, err := models.GetAppointmentListByActivityId(activityIdStr, "3,4")
-		//					if err != nil {
-		//						fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//						return err
-		//					}
-		//					if len(appointmentList) > 0 {
-		//						for _, vApp := range appointmentList {
-		//							appointmentByMobileList, err := models.GetAppointmentListByActivityIdAndMobile(activityIdStr, vApp.Mobile)
-		//							if err != nil {
-		//								fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//								return err
-		//							}
-		//							var appointmentActivityName string
-		//							if len(appointmentByMobileList) > 0 {
-		//								for _, vAppM := range appointmentByMobileList {
-		//									appointmentActivityName += vAppM.ActivityName + ","
-		//								}
-		//							}
-		//							appointmentActivityName = strings.TrimRight(appointmentActivityName, ",")
-		//							if vApp.Mobile != "" {
-		//								openIdListByAppointment, err := models.GetUserRecordListByMobile(4, vApp.Mobile)
-		//								if err != nil {
-		//									fmt.Println(err)
-		//									return err
-		//								}
-		//								keyword1 := "您预约的调研,有关联的纪要发布/更新了"
-		//								keyword2 := appointmentActivityName
-		//								keyword3 := v.Title
-		//								keyword4 := v.PublishDate.Format(utils.FormatDateTime)
-		//								SendWxMsgWithArticleClassToAdmin(keyword1, keyword2, keyword3, keyword4, openIdListByAppointment, artcleId)
-		//
-		//							}
-		//						}
-		//					}
-		//				}
-		//			}
-		//		}
-		//	}
-		//}
-
 		//【公司调研】系列纪要发布/更新后 end
 
 		//查研观向6.9模板消息推送规则
@@ -1228,6 +1100,31 @@ func HandleArticleListByApi(artcleId int) (err error) {
 	}
 	go models.UpdateCygxArticleCeluePush(artcleId)
 
+	if len(listArticleData) > 0 {
+		for _, v := range listArticleData {
+			count, err := models.GetCygxArticleDataCount(v.ArticleId)
+			if err != nil {
+				fmt.Println("GetCygxArticleDataCount Err:", err.Error())
+				return err
+			}
+			if count == 0 {
+				_, err := models.AddCygxArticleData(v)
+				if err != nil {
+					fmt.Println("AddCygxArticleData Err:", err.Error())
+					return err
+				}
+			} else {
+				updateParams := make(map[string]interface{})
+				updateParams["Cover"] = v.Cover
+				whereParam := map[string]interface{}{"article_id": v.ArticleId}
+				err = models.UpdateByExpr(models.CygxArticleData{}, whereParam, updateParams)
+				if err != nil {
+					fmt.Println("UpdateByExpr CygxArticleData Err:" + err.Error())
+					return err
+				}
+			}
+		}
+	}
 	return err
 }