فهرست منبع

策略平台图表,记录所有,的显示用户收藏使用
更新Es索引

xingzai 2 سال پیش
والد
کامیت
4a60d79d66
6فایلهای تغییر یافته به همراه141 افزوده شده و 12 حذف شده
  1. 3 4
      models/activity_attendance_detail.go
  2. 9 1
      models/chart.go
  3. 41 0
      models/chart_all.go
  4. 1 0
      models/db.go
  5. 86 6
      services/chart.go
  6. 1 1
      utils/config.go

+ 3 - 4
models/activity_attendance_detail.go

@@ -29,14 +29,13 @@ type CygxActivityAttendanceDetail struct {
 
 //添加会议提醒信息
 func AddCygxActivityAttendanceDetail(item *CygxActivityAttendanceDetail) (lastId int64, err error) {
-	o := orm.NewOrm()
-	tx, err := o.Begin()
+	o, err := orm.NewOrm().Begin()
 	defer func() {
 		fmt.Println(err)
 		if err == nil {
-			tx.Commit()
+			o.Commit()
 		} else {
-			tx.Rollback()
+			o.Rollback()
 		}
 	}()
 	var count int

+ 9 - 1
models/chart.go

@@ -179,6 +179,14 @@ func GetChartList(condition string, pars []interface{}, startSize, pageSize int)
 	return
 }
 
+//获取所有同步过来的图表
+func GetChartListAll() (items []*HomeChartListResp, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT chart_id FROM cygx_chart  `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 ////获取图表列表
 //func GetChartCtagIds(ctagId int ) (items []*HomeChartListResp, err error) {
 //	o := orm.NewOrm()
@@ -196,7 +204,7 @@ func GetChartListCollection(chartIds string, userId, startSize, pageSize int) (i
 			( SELECT COUNT(*) FROM cygx_chart_top AS t WHERE t.chart_id = a.chart_id AND t.user_id = ? ) AS num_top,
 			( SELECT COUNT(*) FROM cygx_chart_collect AS c WHERE c.chart_id = a.chart_id AND c.user_id = ? ) AS num_c 
 		FROM
-			cygx_chart AS a
+			cygx_chart_all AS a
 			LEFT JOIN cygx_chart_top AS t ON t.chart_id = a.chart_id
 			LEFT JOIN cygx_chart_collect AS c ON c.chart_id = a.chart_id 
 		WHERE

+ 41 - 0
models/chart_all.go

@@ -0,0 +1,41 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxChartAll struct {
+	Id            int       `orm:"column(id);pk"`
+	ChartId       int       `description:"图表id"`
+	PtagId        int       `description:"图表父类分类id"`
+	CtagId        int       `description:"图表子类分类id"`
+	PtagIdTwo     int       `description:"图表父类分类id"`
+	CtagIdTwo     int       `description:"图表子类分类id"`
+	Title         string    `description:"标题"`
+	TitleEn       string    `description:"英文标题 "`
+	CreateDate    string    `description:"本地创建时间"`
+	CreateDateApi time.Time `description:"图表创建时间"`
+	PublishStatus int       `description:"发布状态"`
+	PtagName      string    `description:"父类名称"`
+	CtagName      string    `description:"子类名称"`
+	Cover         string    `description:"图表图片"`
+	Iframe        string    `description:"图表详情跳转地址"`
+	PtagNameTwo   string    `description:"父类名称"`
+	CtagNameTwo   string    `description:"子类名称"`
+}
+
+//获取所有同步过来的图表
+func GetChartAllListAll() (items []*HomeChartListResp, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT chart_id FROM cygx_chart_all  `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+//新增图表
+func AddCygxChartAll(item *CygxChartAll) (lastId int64, err error) {
+	o := orm.NewOrm()
+	lastId, err = o.Insert(item)
+	return
+}

+ 1 - 0
models/db.go

@@ -109,6 +109,7 @@ func init() {
 		new(CygxUserInteractionNum),
 		new(CygxChartCollectByCygx),
 		new(CygxCompanyInteractionNum),
+		new(CygxChartAll),
 	)
 	// 记录ORM查询日志
 	orm.Debug = true

+ 86 - 6
services/chart.go

@@ -39,7 +39,7 @@ func PublicGetDate(url, authorization string) (body []byte, err error) {
 	return
 }
 
-//获取列表
+//同步图表列表
 func GetChartListByApi(cont context.Context) (err error) {
 	defer func() {
 		if err != nil {
@@ -47,6 +47,24 @@ func GetChartListByApi(cont context.Context) (err error) {
 			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetArticleListByApi ErrMsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
+	mapChartid := make(map[int]int)
+	chartList, err := models.GetChartListAll()
+	if err != nil {
+		return
+	}
+	for _, v := range chartList {
+		mapChartid[v.ChartId] = v.ChartId
+	}
+
+	mapAllChartid := make(map[int]int)
+	chartAllList, err := models.GetChartAllListAll()
+	if err != nil {
+		return
+	}
+	for _, v := range chartAllList {
+		mapAllChartid[v.ChartId] = v.ChartId
+	}
+
 	url := utils.ApiUrl + "charts/mp?take=100&skip=0"
 	authorization := utils.ApiAuthorization
 	body, err := PublicGetDate(url, authorization)
@@ -77,11 +95,9 @@ func GetChartListByApi(cont context.Context) (err error) {
 		item.CtagIdTwo = v.CtagTwo.Id
 		item.Cover = v.Cover
 		item.Iframe = v.Iframe
-		count, err := models.GetChartCountById(v.ChartId)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			return err
-		}
-		if count == 0 {
+
+		//如果没有就新增 有就更新
+		if mapChartid[v.ChartId] == 0 {
 			_, err := models.AddCygxChart(item)
 			if err != nil {
 				return err
@@ -104,6 +120,70 @@ func GetChartListByApi(cont context.Context) (err error) {
 			updateParams["Iframe"] = v.Iframe
 			whereParam := map[string]interface{}{"chart_id": v.ChartId}
 			err = models.UpdateByExpr(models.CygxChart{}, whereParam, updateParams)
+			if err != nil {
+				return err
+			}
+		}
+	}
+
+	//策略平台图表,记录所有,的显示用户收藏使用
+	url = utils.ApiUrl + "charts?take=100&skip=0" // 获取所有的图表链接
+	body, err = PublicGetDate(url, authorization)
+	if err != nil {
+		return
+	}
+
+	err = json.Unmarshal(body, &chartResult)
+	if err != nil {
+		return err
+	}
+	for _, v := range chartResult.Data {
+		item := new(models.CygxChartAll)
+		item.ChartId = v.ChartId
+		item.PtagId = v.PtagId
+		item.CtagId = v.CtagId
+		item.Title = v.Title
+		item.TitleEn = v.TitleEn
+		item.CreateDateApi = time.Now()
+		item.CreateDate = v.CreateDate
+		item.PublishStatus = v.PublishStatus
+		item.PtagName = v.Ptag.Name
+		item.CtagName = v.Ctag.Name
+
+		item.PtagNameTwo = v.PtagTwo.Name
+		item.CtagNameTwo = v.CtagTwo.Name
+		item.PtagIdTwo = v.PtagTwo.Id
+		item.CtagIdTwo = v.CtagTwo.Id
+		item.Cover = v.Cover
+		item.Iframe = v.Iframe
+
+		//如果没有就新增 有就更新
+		if mapAllChartid[v.ChartId] == 0 {
+			_, err := models.AddCygxChartAll(item)
+			if err != nil {
+				return err
+			}
+		} else {
+			updateParams := make(map[string]interface{})
+			updateParams["Title"] = v.Title
+			updateParams["PtagId"] = v.PtagId
+			updateParams["CtagId"] = v.CtagId
+			updateParams["TitleEn"] = v.TitleEn
+			updateParams["CreateDate"] = v.CreateDate
+			updateParams["PublishStatus"] = v.PublishStatus
+			updateParams["PtagName"] = v.Ptag.Name
+			updateParams["CtagName"] = v.Ctag.Name
+			updateParams["PtagNameTwo"] = v.PtagTwo.Name
+			updateParams["CtagNameTwo"] = v.CtagTwo.Name
+			updateParams["PtagIdTwo"] = v.PtagTwo.Id
+			updateParams["CtagIdTwo"] = v.CtagTwo.Id
+			updateParams["Cover"] = v.Cover
+			updateParams["Iframe"] = v.Iframe
+			whereParam := map[string]interface{}{"chart_id": v.ChartId}
+			err = models.UpdateByExpr(models.CygxChartAll{}, whereParam, updateParams)
+			if err != nil {
+				return err
+			}
 		}
 	}
 	return

+ 1 - 1
utils/config.go

@@ -136,7 +136,7 @@ func init() {
 		WxPublicAppId = "wx4a844c734d8c8e56"
 		WxPublicAppSecret = "26c586e7ccb3c575433f0f37797b3eeb"
 		WxPublicId = "gh_b67e0049fb8c"
-		IndexName = "cygx_article_v0622"
+		IndexName = "cygx_article_v0718"
 		IndexNameArticleHistory = "cygx_article_history_v07_08"
 
 		//接收附件邮箱