|
@@ -8,6 +8,7 @@ import (
|
|
|
|
|
|
"bufio"
|
|
"bufio"
|
|
"io"
|
|
"io"
|
|
|
|
+ "io/ioutil"
|
|
|
|
|
|
//"bufio"
|
|
//"bufio"
|
|
"encoding/json"
|
|
"encoding/json"
|
|
@@ -897,3 +898,448 @@ type PublishPdfResult struct {
|
|
FileOldPath string `json:"file_old_path"`
|
|
FileOldPath string `json:"file_old_path"`
|
|
Pdfpath string `json:"pdfpath"`
|
|
Pdfpath string `json:"pdfpath"`
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// @Title 同步策略报告内容
|
|
|
|
+// @Description 同步策略报告内容接口
|
|
|
|
+// @Param ArticleIdMd5 query int true "报告ID"
|
|
|
|
+// @Success 200 {object} models.ArticleDetailResp
|
|
|
|
+// @router /look/listApi [get]
|
|
|
|
+func (this *ArticleCommonController) ListApi() {
|
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
|
+ defer func() {
|
|
|
|
+ this.Data["json"] = br
|
|
|
|
+ this.ServeJSON()
|
|
|
|
+ }()
|
|
|
|
+ url := "https://vmp.hzinsights.com/v2api/articles/mp?take=20&skip=0&publish_status=1"
|
|
|
|
+ method := "GET"
|
|
|
|
+ client := &nhttp.Client{}
|
|
|
|
+ req, err := nhttp.NewRequest(method, url, nil)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ req.Header.Add("Authorization", "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkiLCJwaG9uZV9udW1iZXIiOiIxMjM0NTY3ODkiLCJuYW1lIjoi5YW25LuWIiwiZW50cmFuY2UiOiJwYXNzd3dvcmQiLCJpYXQiOjE2MzQ4NzA1OTQsImV4cCI6MTYzNDg3NDE5NH0.tho2L9jsbDPn8ltEGUVDve_nHsh0Kzf6ZrSz0RcZ0ag")
|
|
|
|
+ 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(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var pdfResult models.ArticleResultApi
|
|
|
|
+ err = json.Unmarshal(body, &pdfResult)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "Unmarshal,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ exitMap := make(map[int]int)
|
|
|
|
+ listMap, err := models.GetArticleApiMap()
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取映射关系失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ //新旧分类 反向隐射
|
|
|
|
+ for _, v := range listMap {
|
|
|
|
+ exitMap[v.Id] = v.OldId
|
|
|
|
+ }
|
|
|
|
+ listData := pdfResult.Data
|
|
|
|
+ var list []*models.Tactics2
|
|
|
|
+ var listAuthor []*models.CygxArticleAuthor
|
|
|
|
+ for _, v := range listData {
|
|
|
|
+ if exitMap[v.SeriesId] > 0 {
|
|
|
|
+ item := new(models.Tactics2)
|
|
|
|
+ itemAuthor := new(models.CygxArticleAuthor)
|
|
|
|
+ item.ArticleId = v.ArticleId
|
|
|
|
+ item.Title = v.Title
|
|
|
|
+ item.TitleEn = v.TitleEn
|
|
|
|
+ if v.Frequency == "日度" {
|
|
|
|
+ item.UpdateFrequency = "daily"
|
|
|
|
+ } else if v.Frequency == "周度" {
|
|
|
|
+ item.UpdateFrequency = "weekly"
|
|
|
|
+ } else if v.Frequency == "月度" {
|
|
|
|
+ item.UpdateFrequency = "monthly"
|
|
|
|
+ } else if v.Frequency == "季度" {
|
|
|
|
+ item.UpdateFrequency = "quarterly"
|
|
|
|
+ } else if v.Frequency == "年度" {
|
|
|
|
+ item.UpdateFrequency = "yearly"
|
|
|
|
+ } else {
|
|
|
|
+ item.UpdateFrequency = "unknow"
|
|
|
|
+ }
|
|
|
|
+ item.CreateDate = v.CreateDate
|
|
|
|
+ item.PublishDate = v.PublishDate
|
|
|
|
+ item.PublishStatus = v.PublishStatus
|
|
|
|
+ item.Body = v.Content.Body
|
|
|
|
+ item.Abstract = v.Content.Abstract
|
|
|
|
+ item.CategoryName = v.Industry.Name
|
|
|
|
+ item.CategoryId = exitMap[v.SeriesId]
|
|
|
|
+ item.SubCategoryName = v.Series.Name
|
|
|
|
+ list = append(list, item)
|
|
|
|
+ itemAuthor.ArticleId = v.ArticleId
|
|
|
|
+ itemAuthor.Name = v.Author.Name
|
|
|
|
+ itemAuthor.Mobile = v.Author.PhoneNumber
|
|
|
|
+ listAuthor = append(listAuthor, itemAuthor)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //同步作者
|
|
|
|
+ for _, v := range listAuthor {
|
|
|
|
+ count, err := models.GetActivityAuthorCount(v.ArticleId, v.Mobile)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("GetCount Err:", err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if count == 0 {
|
|
|
|
+ _, err := models.AddCygxActivityAuthor(v)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("AddCygxActivityAuthor Err:", err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ fmt.Println("同步文章条数:", len(list))
|
|
|
|
+ listCustomArticle, err := models.GetCustomArticleId() //手动归类的文章,不替换文章类型
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("GetTacticsList Err:", err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ listGetMatchTypeName, errMatch := models.GetMatchTypeNamenNotNull() //手动归类的文章,不替换文章类型
|
|
|
|
+ if errMatch != nil {
|
|
|
|
+ fmt.Println("GetTacticsList Err:", errMatch.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("list len:", len(list))
|
|
|
|
+ summaryCategoryIds := "28,32,45,50,57,62,72,74,79,84,86,88,90,93,95,96" //纪要库的文章类型categoty_id
|
|
|
|
+ listSummary := strings.Split(summaryCategoryIds, ",")
|
|
|
|
+ noSummaryArticleIds := "3454,3456,3457,3459,2449,2450,2453,2454,2459,2530,2583,2663,2670,2699,2715,2732,2748,2759,2399,2356,2870,3173,2978,2826,3470" //非纪要库类型的文章ID
|
|
|
|
+ listNoSummaryArticleIds := strings.Split(noSummaryArticleIds, ",")
|
|
|
|
+ listPermission, errper := models.GetPermissionMappingCategoryID()
|
|
|
|
+ if errper != nil {
|
|
|
|
+ fmt.Println("GetTacticsList Err:", errper.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ summaryMap := make(map[int]int)
|
|
|
|
+ for _, vSum := range listSummary {
|
|
|
|
+ vSumInt, _ := strconv.Atoi(vSum)
|
|
|
|
+ summaryMap[vSumInt] = 1
|
|
|
|
+ }
|
|
|
|
+ for k, v := range list {
|
|
|
|
+ //同步匹配类型
|
|
|
|
+ matchTypeName := ""
|
|
|
|
+ for _, vMatch := range listGetMatchTypeName {
|
|
|
|
+ if v.CategoryId == vMatch.CategoryId {
|
|
|
|
+ matchTypeName = vMatch.MatchTypeName
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //是否属于纪要库的数据
|
|
|
|
+ if _, has := summaryMap[v.CategoryId]; has {
|
|
|
|
+ v.IsSummary = 1
|
|
|
|
+ }
|
|
|
|
+ //排除不属于纪要库类型的文章
|
|
|
|
+ for _, vArt := range listNoSummaryArticleIds {
|
|
|
|
+ vArtInt, _ := strconv.Atoi(vArt)
|
|
|
|
+ if v.ArticleId == vArtInt {
|
|
|
|
+ v.IsSummary = 0
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for _, vPer := range listPermission {
|
|
|
|
+ if v.CategoryId == vPer.CategoryId {
|
|
|
|
+ v.IsReport = 1
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if v.IsReport > 0 {
|
|
|
|
+ //是否属于策略 策略自动归类
|
|
|
|
+ //是否属于行业报告 行业报告自动归类
|
|
|
|
+ if v.CategoryId == 7 || v.CategoryId == 9 || v.CategoryId == 11 || v.CategoryId == 51 || v.CategoryId == 52 || v.CategoryId == 64 || v.CategoryId == 80 || v.CategoryId == 87 {
|
|
|
|
+ v.IsClass = 1
|
|
|
|
+ v.ReportType = 1 //是否属于行业报告
|
|
|
|
+ } else {
|
|
|
|
+ v.ReportType = 2 //是否属于产业报告
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ v.Department = "弘则权益研究"
|
|
|
|
+ fmt.Println(k, v.ArticleId)
|
|
|
|
+ hh, _ := time.ParseDuration("8h")
|
|
|
|
+ //pDate := publishDate.Add(hh)
|
|
|
|
+ v.PublishDate = v.PublishDate.Add(hh)
|
|
|
|
+ //判断是否已经存在
|
|
|
|
+ if v.ArticleId < 0 {
|
|
|
|
+ fmt.Println("AddCygxArticle Err:")
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ count, err := models.GetArticleCountById(v.ArticleId)
|
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
|
+ fmt.Println("AddCygxArticle Err:", err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ v.Body = strings.Replace(v.Body, "http://vmp.hzinsights.com", "https://vmp.hzinsights.com", -1)
|
|
|
|
+ expertNumStr, expertContentStr, interviewDateStr, fileLink, bodyReturn := services.BodyAnalysis2(v.Body)
|
|
|
|
+ if strings.Index(v.Body, "报告全文(") > 0 && strings.Index(v.Body, "PDF格式报告下载.pdf") > 0 {
|
|
|
|
+ v.Body = strings.Replace(v.Body, "报告全文(", "", -1)
|
|
|
|
+ v.Body = strings.Replace(v.Body, "PDF格式报告下载.pdf", "", -1)
|
|
|
|
+ v.Body = strings.Replace(v.Body, "):", "", -1)
|
|
|
|
+ }
|
|
|
|
+ var titleNew string
|
|
|
|
+ titleNew = v.Title
|
|
|
|
+ // 7资金流向 、11大类资产 、51每日复盘 、80医药周报、9估值研究
|
|
|
|
+ if v.CategoryId == 7 || v.CategoryId == 11 || v.CategoryId == 51 || v.CategoryId == 9 {
|
|
|
|
+ if v.UpdateFrequency == "daily" {
|
|
|
|
+ var daystr string
|
|
|
|
+ daystr = strconv.Itoa(v.PublishDate.Day())
|
|
|
|
+ if len(daystr) == 1 {
|
|
|
|
+ daystr = "0" + daystr
|
|
|
|
+ }
|
|
|
|
+ titleNew = v.Title + "(" + strconv.Itoa(v.PublishDate.Year())[2:len(strconv.Itoa(v.PublishDate.Year()))-0] + v.PublishDate.Format("01") + daystr + ")"
|
|
|
|
+ } else if v.UpdateFrequency == "weekly" {
|
|
|
|
+ titleNew = v.Title + utils.WeekByDate(v.PublishDate)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if v.CategoryId == 80 {
|
|
|
|
+ titleNew = v.Title + utils.WeekByDate(v.PublishDate)
|
|
|
|
+ }
|
|
|
|
+ if count > 0 {
|
|
|
|
+ fmt.Println(k, v.ArticleId, "edit")
|
|
|
|
+ var isCustom bool
|
|
|
|
+ bodyText, _ := services.GetReportContentTextSub(v.Body)
|
|
|
|
+ updateParams := make(map[string]interface{})
|
|
|
|
+ //updateParams["Title"] = v.Title
|
|
|
|
+ updateParams["Title"] = titleNew
|
|
|
|
+ updateParams["TitleEn"] = v.TitleEn
|
|
|
|
+ updateParams["UpdateFrequency"] = v.UpdateFrequency
|
|
|
|
+ updateParams["CreateDate"] = v.CreateDate
|
|
|
|
+ updateParams["PublishDate"] = v.PublishDate
|
|
|
|
+ //updateParams["Body"] = html.EscapeString(v.Body)
|
|
|
|
+ updateParams["Body"] = html.EscapeString(bodyReturn)
|
|
|
|
+ updateParams["BodyText"] = bodyText
|
|
|
|
+ updateParams["Abstract"] = html.EscapeString(v.Abstract)
|
|
|
|
+ updateParams["CategoryName"] = v.CategoryName
|
|
|
|
+
|
|
|
|
+ for _, vCustom := range listCustomArticle {
|
|
|
|
+ if v.ArticleId == vCustom.ArticleId {
|
|
|
|
+ fmt.Println("手动归类的文章:" + strconv.Itoa(v.ArticleId))
|
|
|
|
+ isCustom = true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if isCustom == false {
|
|
|
|
+ updateParams["CategoryId"] = v.CategoryId
|
|
|
|
+ updateParams["MatchTypeName"] = matchTypeName
|
|
|
|
+ updateParams["IsSummary"] = v.IsSummary
|
|
|
|
+ updateParams["IsReport"] = v.IsReport
|
|
|
|
+ updateParams["ReportType"] = v.ReportType
|
|
|
|
+ updateParams["SubCategoryName"] = v.SubCategoryName
|
|
|
|
+ }
|
|
|
|
+ //updateParams["CategoryId"] = v.CategoryId
|
|
|
|
+ updateParams["PublishStatus"] = v.PublishStatus
|
|
|
|
+ updateParams["ExpertBackground"] = expertContentStr
|
|
|
|
+ updateParams["ExpertNumber"] = expertNumStr
|
|
|
|
+ updateParams["InterviewDate"] = interviewDateStr
|
|
|
|
+ //updateParams["IsClass"] = v.IsClass
|
|
|
|
+
|
|
|
|
+ if v.Department != "弘则权益研究" {
|
|
|
|
+ v.Department = "弘则权益研究"
|
|
|
|
+ }
|
|
|
|
+ updateParams["Department"] = v.Department
|
|
|
|
+ updateParams["FileLink"] = fileLink
|
|
|
|
+ whereParam := map[string]interface{}{"article_id": v.ArticleId}
|
|
|
|
+ err = models.UpdateByExpr(models.CygxArticle{}, whereParam, updateParams)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("UpdateByExpr Err:" + err.Error())
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ fmt.Println(k, v.ArticleId, "add")
|
|
|
|
+ item := new(models.CygxArticle)
|
|
|
|
+ articleIdInt := v.ArticleId
|
|
|
|
+ item.ArticleId = articleIdInt
|
|
|
|
+ //item.Title = v.Title
|
|
|
|
+ item.Title = titleNew
|
|
|
|
+ item.TitleEn = v.TitleEn
|
|
|
|
+ item.UpdateFrequency = v.UpdateFrequency
|
|
|
|
+ item.CreateDate = v.CreateDate
|
|
|
|
+ item.PublishDate = v.PublishDate.Format(utils.FormatDateTime)
|
|
|
|
+ //item.Body = html.EscapeString(v.Body)
|
|
|
|
+ item.Body = html.EscapeString(bodyReturn)
|
|
|
|
+ item.Abstract = html.EscapeString(v.Abstract)
|
|
|
|
+ item.CategoryName = v.CategoryName
|
|
|
|
+ item.SubCategoryName = v.SubCategoryName
|
|
|
|
+ item.CategoryId = v.CategoryId
|
|
|
|
+ item.PublishStatus = v.PublishStatus
|
|
|
|
+ item.ExpertBackground = expertContentStr
|
|
|
|
+ item.ExpertNumber = expertNumStr
|
|
|
|
+ item.InterviewDate = interviewDateStr
|
|
|
|
+ item.Department = v.Department
|
|
|
|
+ item.ArticleIdMd5 = utils.MD5(strconv.Itoa(articleIdInt))
|
|
|
|
+ item.IsClass = v.IsClass
|
|
|
|
+ item.IsSummary = v.IsSummary
|
|
|
|
+ item.IsReport = v.IsReport
|
|
|
|
+ item.ReportType = v.ReportType
|
|
|
|
+ item.FileLink = fileLink
|
|
|
|
+ item.MatchTypeName = matchTypeName
|
|
|
|
+ _, err = models.AddCygxArticles(item)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println("AddCygxArticle Err:", err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Success = true
|
|
|
|
+ br.Msg = "获取成功"
|
|
|
|
+ br.Data = string(body)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// @Title 同步参会记录
|
|
|
|
+// @Description 获取报告详情接口
|
|
|
|
+// @Param ArticleIdMd5 query int true "报告ID"
|
|
|
|
+// @Success 200 {object} models.ArticleDetailResp
|
|
|
|
+// @router /look/detaisl [get]
|
|
|
|
+func (this *ArticleCommonController) Detaisl() {
|
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
|
+ defer func() {
|
|
|
|
+ this.Data["json"] = br
|
|
|
|
+ this.ServeJSON()
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ var condition string
|
|
|
|
+ fmt.Println(condition)
|
|
|
|
+
|
|
|
|
+ //list, err := models.GetOfflineMeetingDetailList()
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // br.Msg = "获取失败"
|
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //
|
|
|
|
+ //for _, v := range list {
|
|
|
|
+ // item := new(models.CygxActivityMeetDetailLog)
|
|
|
|
+ // item.ActivityId = v.ActivityId
|
|
|
|
+ // item.RealName = v.RealName
|
|
|
|
+ // item.Mobile = v.Mobile
|
|
|
|
+ // item.CompanyName = v.CompanyName
|
|
|
|
+ // item.CompanyId = v.CompanyId
|
|
|
|
+ // item.CreateTime = v.CreateTime
|
|
|
|
+ // newId, err := models.AddCygxActivityMeetDetailLog(item)
|
|
|
|
+ // if err != nil {
|
|
|
|
+ // br.Msg = "同步失败"
|
|
|
|
+ // br.ErrMsg = "新增优化建议失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ // fmt.Println(newId)
|
|
|
|
+ //}
|
|
|
|
+
|
|
|
|
+ //list, err := models.GetActivityMeetDetailLog()
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // br.Msg = "获取失败"
|
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //for _, v := range list {
|
|
|
|
+ // condition = ` AND company_name = '` + v.CompanyName + `' `
|
|
|
|
+ // total, err := models.GetActivityMeetDetailLogCount(condition)
|
|
|
|
+ // if err != nil {
|
|
|
|
+ // br.Msg = "获取失败"
|
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ // fmt.Println(v.CompanyName, total)
|
|
|
|
+ // err = models.UpdateActivityMeetDetailLog(v.CompanyName, total)
|
|
|
|
+ // if err != nil {
|
|
|
|
+ // br.Msg = "获取失败"
|
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //}
|
|
|
|
+
|
|
|
|
+ //list, err := models.GetActivityMeetDetailLogByMobile()
|
|
|
|
+ //if err != nil {
|
|
|
|
+ // br.Msg = "获取失败"
|
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ //}
|
|
|
|
+ //for _, v := range list {
|
|
|
|
+ // condition = ` AND mobile = '` + v.Mobile + `' `
|
|
|
|
+ // total, err := models.GetActivityMeetDetailLogCount(condition)
|
|
|
|
+ // if err != nil {
|
|
|
|
+ // br.Msg = "获取失败"
|
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ // fmt.Println(v.Mobile, total)
|
|
|
|
+ // err = models.UpdateActivityMeetDetailLogByUser(v.Mobile, total)
|
|
|
|
+ // if err != nil {
|
|
|
|
+ // br.Msg = "获取失败"
|
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ // return
|
|
|
|
+ // }
|
|
|
|
+ //}
|
|
|
|
+
|
|
|
|
+ resp := new(models.ArticleDetailResp)
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Success = true
|
|
|
|
+ br.Msg = "获取成功"
|
|
|
|
+ br.Data = resp
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// @Title 同步策略报告分类
|
|
|
|
+// @Description 同步策略报告内容接口
|
|
|
|
+// @Param ArticleIdMd5 query int true "报告ID"
|
|
|
|
+// @Success 200 {object} models.ArticleDetailResp
|
|
|
|
+// @router /look/industry [get]
|
|
|
|
+func (this *ArticleCommonController) Industry() {
|
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
|
+ defer func() {
|
|
|
|
+ this.Data["json"] = br
|
|
|
|
+ this.ServeJSON()
|
|
|
|
+ }()
|
|
|
|
+ url := "https://vmp.hzinsights.com/v2api/articles/industry"
|
|
|
|
+ method := "GET"
|
|
|
|
+ client := &nhttp.Client{}
|
|
|
|
+ req, err := nhttp.NewRequest(method, url, nil)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ req.Header.Add("Authorization", "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkiLCJwaG9uZV9udW1iZXIiOiIxMjM0NTY3ODkiLCJuYW1lIjoi5YW25LuWIiwiZW50cmFuY2UiOiJwYXNzd3dvcmQiLCJpYXQiOjE2MzQ4NzA1OTQsImV4cCI6MTYzNDg3NDE5NH0.tho2L9jsbDPn8ltEGUVDve_nHsh0Kzf6ZrSz0RcZ0ag")
|
|
|
|
+ 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(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var pdfResult models.ArticleIndustryApi
|
|
|
|
+ err = json.Unmarshal(body, &pdfResult)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "Unmarshal,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ listData := pdfResult.Data
|
|
|
|
+ //var list []*models.Tactics2
|
|
|
|
+ for _, v := range listData {
|
|
|
|
+ item := new(models.Tactics2)
|
|
|
|
+ for _, v2 := range v.Series {
|
|
|
|
+ fmt.Println(v2.Name)
|
|
|
|
+ item.Body = v2.Name
|
|
|
|
+ //fmt.Println(v.Name, "+", v2.Name, "+", v2.Id)
|
|
|
|
+ //fmt.Println(v.Name, "+", v2.Name, "+", v2.Id)
|
|
|
|
+ //fmt.Println(v.Name, "+", v2.Name, "+", v2.Id)
|
|
|
|
+ }
|
|
|
|
+ //list = append(list, item)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Success = true
|
|
|
|
+ br.Msg = "获取成功"
|
|
|
|
+ br.Data = string(body)
|
|
|
|
+}
|