Browse Source

no message

xingzai 2 years ago
parent
commit
9c53b73cce
4 changed files with 62 additions and 1 deletions
  1. 1 0
      models/article.go
  2. 28 0
      models/article_data.go
  3. 1 0
      models/db.go
  4. 32 1
      services/article.go

+ 1 - 0
models/article.go

@@ -534,6 +534,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

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

+ 32 - 1
services/article.go

@@ -736,12 +736,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
@@ -784,6 +790,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		itemAuthor.ArticleId = articleResult.ArticleId
 		itemAuthor.Name = articleResult.Author.Name
 		itemAuthor.Mobile = articleResult.Author.PhoneNumber
+		fmt.Println(articleResult.Cover)
 		listAuthor = append(listAuthor, itemAuthor)
 	} else {
 		// 如果这篇文章没有发布,那么就不作处理。
@@ -794,7 +801,6 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		}
 		go models.UpdateCygxArticleCeluePush(artcleId)
 		return err
-
 	}
 
 	//同步作者
@@ -1222,6 +1228,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
 }