|
@@ -1,7 +1,6 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
- "context"
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"github.com/PuerkitoBio/goquery"
|
|
@@ -272,42 +271,61 @@ func FixArticleContent(articleId int) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
- url := "https://vmp.hzinsights.com/v2api/articles/mp?take=100&skip=0&publish_status=1"
|
|
|
+//func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
+func GetArticleListByApi() (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 := "https://vmp.hzinsights.com/v2api/articles/mp?take=200&skip=0&publish_status=1"
|
|
|
method := "GET"
|
|
|
client := &nhttp.Client{}
|
|
|
req, err := nhttp.NewRequest(method, url, nil)
|
|
|
if err != nil {
|
|
|
fmt.Println("GetListApi Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
req.Header.Add("Authorization", "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkiLCJwaG9uZV9udW1iZXIiOiIxMjM0NTY3ODkiLCJuYW1lIjoi5YW25LuWIiwiZW50cmFuY2UiOiJwYXNzd3dvcmQiLCJpYXQiOjE2MzQ4NzA1OTQsImV4cCI6MTYzNDg3NDE5NH0.tho2L9jsbDPn8ltEGUVDve_nHsh0Kzf6ZrSz0RcZ0ag")
|
|
|
res, err := client.Do(req)
|
|
|
if err != nil {
|
|
|
fmt.Println(err)
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
defer res.Body.Close()
|
|
|
body, err := ioutil.ReadAll(res.Body)
|
|
|
if err != nil {
|
|
|
fmt.Println("Getres.Body Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
var pdfResult models.ArticleResultApi
|
|
|
err = json.Unmarshal(body, &pdfResult)
|
|
|
if err != nil {
|
|
|
fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
exitMap := make(map[int]int)
|
|
|
+ classMap := make(map[int]int)
|
|
|
+ reportMap := make(map[int]int)
|
|
|
+ summaryMap := make(map[int]int)
|
|
|
listMap, err := models.GetArticleApiMap()
|
|
|
if err != nil {
|
|
|
fmt.Println("GetlistMap Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
- //新旧分类 反向隐射
|
|
|
+ //新旧分类 反向隐射,是否归类,是否是报告,是否是纪要库
|
|
|
for _, v := range listMap {
|
|
|
exitMap[v.Id] = v.OldId
|
|
|
+ if v.IsClass == 1 {
|
|
|
+ classMap[v.OldId] = 1
|
|
|
+ }
|
|
|
+ if v.IsReport == 1 {
|
|
|
+ reportMap[v.OldId] = 1
|
|
|
+ }
|
|
|
+ if v.IsSummary == 1 {
|
|
|
+ summaryMap[v.OldId] = 1
|
|
|
+ }
|
|
|
}
|
|
|
listData := pdfResult.Data
|
|
|
var list []*models.Tactics2
|
|
@@ -354,13 +372,13 @@ func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
count, err = models.GetActivityAuthorCount(v.ArticleId, v.Mobile)
|
|
|
if err != nil {
|
|
|
fmt.Println("GetCount Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
if count == 0 {
|
|
|
_, err = models.AddCygxActivityAuthor(v)
|
|
|
if err != nil {
|
|
|
fmt.Println("AddCygxActivityAuthor Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -368,29 +386,28 @@ func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
listCustomArticle, err := models.GetCustomArticleId() //手动归类的文章,不替换文章类型
|
|
|
if err != nil {
|
|
|
fmt.Println("GetTacticsList Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
listGetMatchTypeName, errMatch := models.GetMatchTypeNamenNotNull() //手动归类的文章,不替换文章类型
|
|
|
if errMatch != nil {
|
|
|
fmt.Println("GetTacticsList Err:", errMatch.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
-
|
|
|
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, ",")
|
|
|
+ //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
|
|
|
- }
|
|
|
+ //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 := ""
|
|
@@ -410,35 +427,42 @@ func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
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 {
|
|
|
+
|
|
|
+ if _, has := reportMap[v.CategoryId]; has {
|
|
|
+ v.IsReport = 1
|
|
|
+ if _, ok := classMap[v.CategoryId]; ok {
|
|
|
v.IsClass = 1
|
|
|
v.ReportType = 1 //是否属于行业报告
|
|
|
} else {
|
|
|
v.ReportType = 2 //是否属于产业报告
|
|
|
}
|
|
|
}
|
|
|
+ //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)
|
|
|
- //pDate := publishDate.Add(hh)
|
|
|
- v.PublishDate = v.PublishDate
|
|
|
//判断是否已经存在
|
|
|
if v.ArticleId < 0 {
|
|
|
fmt.Println("AddCygxArticle Err:")
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
var count int
|
|
|
count, err = models.GetArticleCountById(v.ArticleId)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
fmt.Println("AddCygxArticle Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
v.Body = strings.Replace(v.Body, "http://vmp.hzinsights.com", "https://vmp.hzinsights.com", -1)
|
|
|
expertNumStr, expertContentStr, interviewDateStr, fileLink, bodyReturn := BodyAnalysis2(v.Body)
|
|
@@ -481,7 +505,6 @@ func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
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))
|
|
@@ -502,16 +525,14 @@ func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
updateParams["ExpertNumber"] = expertNumStr
|
|
|
updateParams["InterviewDate"] = interviewDateStr
|
|
|
//updateParams["IsClass"] = v.IsClass
|
|
|
-
|
|
|
- if v.Department != "弘则权益研究" {
|
|
|
- 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())
|
|
|
+ return err
|
|
|
}
|
|
|
} else {
|
|
|
fmt.Println(k, v.ArticleId, "add")
|
|
@@ -545,7 +566,7 @@ func GetArticleListByApi(cont context.Context) (err error) {
|
|
|
_, err = models.AddCygxArticles(item)
|
|
|
if err != nil {
|
|
|
fmt.Println("AddCygxArticle Err:", err.Error())
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
}
|
|
|
}
|