Browse Source

Merge branch 'cygx_7.3_yin_ping' of http://8.136.199.33:3000/hongze/hongze_cygx into debug

xingzai 2 years ago
parent
commit
6dd4a7d64a
3 changed files with 36 additions and 3 deletions
  1. 1 1
      controllers/home.go
  2. 34 1
      services/article.go
  3. 1 1
      services/task.go

+ 1 - 1
controllers/home.go

@@ -523,7 +523,7 @@ func (this *HomeController) ListHomeArtAndChart() {
 			item := list[k]
 			//如果文章一开始的内容是图片,优先展示第一张图片
 			imgurl, _ := services.FixArticleImgUrl(html.UnescapeString(list[k].Body))
-			newBody, _ := services.GetReportContentTextSub(item.Body)
+			newBody, _ := services.GetReportContentTextSubByarticle(item.Body, item.Abstract, item.ArticleId)
 			list[k].Body = newBody
 			if imgurl != "" {
 				list[k].BodyHtml = imgurl

+ 34 - 1
services/article.go

@@ -13,6 +13,7 @@ import (
 	"strconv"
 	"strings"
 	"time"
+	"unicode/utf8"
 )
 
 func GetReportContentSub(content string) (contentSub string, err error) {
@@ -57,16 +58,48 @@ func GetReportContentTextSub(content string) (contentSub string, err error) {
 
 func GetReportContentTextSubNew(content string) (contentSub string, err error) {
 	content = html.UnescapeString(content)
-	doc, err := goquery.NewDocumentFromReader(strings.NewReader(content))
+	doc, errdoc := goquery.NewDocumentFromReader(strings.NewReader(content))
+	if errdoc != nil {
+		err = errdoc
+		return
+	}
 	docText := doc.Text()
 	bodyRune := []rune(docText)
 	bodyRuneLen := len(bodyRune)
 	body := string(bodyRune[:bodyRuneLen])
 	contentSub = body
 	contentSub = strings.Replace(body, "Powered by Froala Editor", "", -1)
+	contentSub = strings.Replace(body, " ", "", -1)
 	return
 }
 
+//GetReportContentTextSubByarticle 解析文章内容
+func GetReportContentTextSubByarticle(content, abstract string, articleId int) (contentSub string, err error) {
+	var lenabstract int
+	//如果不是研选就这么展示
+	if articleId < utils.SummaryArticleId {
+		abstract = html.UnescapeString(abstract)
+		doc, errdoc := goquery.NewDocumentFromReader(strings.NewReader(abstract))
+		if errdoc != nil {
+			err = errdoc
+			return
+		}
+		docabstract := doc.Text()
+		lenabstract = utf8.RuneCountInString(docabstract)
+		if lenabstract >= 20 {
+			contentSub = docabstract
+			return
+		} else {
+			contentSub, err = GetReportContentTextSubNew(content)
+		}
+	} else {
+		contentSub, err = GetReportContentTextSubNew(content)
+	}
+
+	return
+
+}
+
 //解析文章内容
 func GetArticleAll() {
 	var err error

+ 1 - 1
services/task.go

@@ -103,7 +103,7 @@ func Task() {
 	//GetAddpArticle() //同步日度点评数据
 	//SendEmailAllUserWithRAI()     //发送当前所有权益用户到沈大爷的邮箱
 	//SendEmailAllUserWithCompany() //发送这些公司下的用户到沈大爷的邮箱
-	//task.StartTask()
+	task.StartTask()
 	//StatisticalReport()//导出报表
 	fmt.Println("end")
 }