|
@@ -0,0 +1,104 @@
|
|
|
+package services
|
|
|
+
|
|
|
+import (
|
|
|
+ "context"
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
+ "hongze/hongze_cygx/models"
|
|
|
+ "hongze/hongze_cygx/utils"
|
|
|
+ "io/ioutil"
|
|
|
+ nhttp "net/http"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+//get公共请求方法
|
|
|
+func PublicGetDate(url, authorization string) (body []byte, err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(url + "Get Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", url+"Get ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ method := "GET"
|
|
|
+ client := &nhttp.Client{}
|
|
|
+ req, err := nhttp.NewRequest(method, url, nil)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(url+"Get Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ req.Header.Add("Authorization", authorization)
|
|
|
+ res, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer res.Body.Close()
|
|
|
+ body, err = ioutil.ReadAll(res.Body)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Getres.Body Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//获取列表
|
|
|
+func GetChartListByApi(cont context.Context) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetArticleListByApi Err:" + err.Error())
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetArticleListByApi ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ url := utils.ApiUrl + "charts/mp?take=100&skip=0"
|
|
|
+ authorization := utils.ApiAuthorization
|
|
|
+ body, err := PublicGetDate(url, authorization)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var chartResult models.ChartResultApi
|
|
|
+ err = json.Unmarshal(body, &chartResult)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ for _, v := range chartResult.Data {
|
|
|
+ item := new(models.CygxChart)
|
|
|
+ item.ChartId = v.ChartId
|
|
|
+ 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.Cover = v.Cover
|
|
|
+ count, err := models.GetChartCountById(v.ChartId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ fmt.Println("GetChartCountById Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if count == 0 {
|
|
|
+ _, err := models.AddCygxChart(item)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("AddCygxChart Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ updateParams := make(map[string]interface{})
|
|
|
+ updateParams["Title"] = v.Title
|
|
|
+ updateParams["TitleEn"] = v.TitleEn
|
|
|
+ updateParams["CreateDate"] = v.CreateDate
|
|
|
+ updateParams["PublishStatus"] = v.PublishStatus
|
|
|
+ updateParams["PtagName"] = v.Ptag.Name
|
|
|
+ updateParams["CtagName"] = v.Ctag.Name
|
|
|
+ updateParams["Cover"] = v.Cover
|
|
|
+ whereParam := map[string]interface{}{"chart_id": v.ChartId}
|
|
|
+ err = models.UpdateByExpr(models.CygxChart{}, whereParam, updateParams)
|
|
|
+ }
|
|
|
+ fmt.Println(v)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+
|
|
|
+}
|