|
@@ -39,7 +39,7 @@ func PublicGetDate(url, authorization string) (body []byte, err error) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-//获取列表
|
|
|
|
|
|
+//同步图表列表
|
|
func GetChartListByApi(cont context.Context) (err error) {
|
|
func GetChartListByApi(cont context.Context) (err error) {
|
|
defer func() {
|
|
defer func() {
|
|
if err != nil {
|
|
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)
|
|
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"
|
|
url := utils.ApiUrl + "charts/mp?take=100&skip=0"
|
|
authorization := utils.ApiAuthorization
|
|
authorization := utils.ApiAuthorization
|
|
body, err := PublicGetDate(url, authorization)
|
|
body, err := PublicGetDate(url, authorization)
|
|
@@ -77,11 +95,9 @@ func GetChartListByApi(cont context.Context) (err error) {
|
|
item.CtagIdTwo = v.CtagTwo.Id
|
|
item.CtagIdTwo = v.CtagTwo.Id
|
|
item.Cover = v.Cover
|
|
item.Cover = v.Cover
|
|
item.Iframe = v.Iframe
|
|
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)
|
|
_, err := models.AddCygxChart(item)
|
|
if err != nil {
|
|
if err != nil {
|
|
return err
|
|
return err
|
|
@@ -104,6 +120,70 @@ func GetChartListByApi(cont context.Context) (err error) {
|
|
updateParams["Iframe"] = v.Iframe
|
|
updateParams["Iframe"] = v.Iframe
|
|
whereParam := map[string]interface{}{"chart_id": v.ChartId}
|
|
whereParam := map[string]interface{}{"chart_id": v.ChartId}
|
|
err = models.UpdateByExpr(models.CygxChart{}, whereParam, updateParams)
|
|
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
|
|
return
|