فهرست منبع

标的遗漏字段补充

xingzai 3 سال پیش
والد
کامیت
cd967f2f9d
6فایلهای تغییر یافته به همراه77 افزوده شده و 15 حذف شده
  1. 14 14
      controllers/article.go
  2. 28 1
      controllers/report.go
  3. 2 0
      models/article_department.go
  4. 1 0
      models/industrial_management.go
  5. 3 0
      models/report.go
  6. 29 0
      services/oss.go

+ 14 - 14
controllers/article.go

@@ -8,10 +8,6 @@ import (
 	"hongze/hongze_cygx/utils"
 	"html"
 	"os"
-
-	//"os"
-
-	//"os"
 	"rdluck_tools/http"
 	"regexp"
 	"strconv"
@@ -736,11 +732,6 @@ func (this *ArticleController) Pdfwatermark() {
 	if mobile == "" {
 		mobile = user.Email
 	}
-
-	fmt.Println(fileLink)
-	//getUrl := "http://127.0.0.1:5000/pdfwatermark?Mobile=" + mobile + "&Name=" + user.RealName + "&FileLink=" + fileLink //
-	//result, err := http.Get(getUrl)
-
 	dataMap := make(map[string]interface{})
 	dataMap["Mobile"] = mobile
 	//dataMap["Name"] = user.RealName
@@ -769,26 +760,34 @@ func (this *ArticleController) Pdfwatermark() {
 		br.ErrMsg = "Unmarshal,Err:" + err.Error()
 		return
 	}
+	resp := new(models.ArticleDetailFileLink)
 	filePathName := strings.TrimLeft(pdfResult.FilePath, ".")
 	filePathOldName := strings.TrimLeft(pdfResult.FileOldPath, ".")
-	filePath := "/home/code/python/hz_cygx_pdf" + filePathName
-	filePathOld := "/home/code/python/hz_cygx_pdf" + filePathOldName
+	filePath := pdfResult.Pdfpath + filePathName
+	filePathOld := pdfResult.Pdfpath + filePathOldName
+	fmt.Println(filePath)
+	fmt.Println(filePathOld)
 	randStr := utils.GetRandStringNoSpecialChar(28)
 	fileName := randStr + ".pdf"
+	hzUploadDir := "static/pdf/"
+	savePath := hzUploadDir + time.Now().Format("200601/20060102/")
+	savePath += fileName
 	//上传到阿里云
-	resourceUrl, err := services.UploadPdfAliyun(fileName, filePath)
+	err = services.UploadFileToAliyun(fileName, filePath, savePath)
 	if err != nil {
 		br.Msg = "文件上传失败"
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
 		return
 	}
+	utils.FileLog.Info("%s:", time.Now().Format(utils.FormatDateTime))
+	utils.FileLog.Info("end update oss ")
+	fileHost := "https://hzstatic.hzinsights.com/"
+	resourceUrl := fileHost + savePath
 	defer func() {
 		os.Remove(filePath)
 		os.Remove(filePathOld)
 	}()
-	resp := new(models.ArticleDetailFileLink)
 	resp.FileLink = resourceUrl
-	//resp.FileLink = pdfResult.FilePath
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
@@ -799,4 +798,5 @@ type PublishPdfResult struct {
 	Result      string `json:"result"`
 	FilePath    string `json:"file_path"`
 	FileOldPath string `json:"file_old_path"`
+	Pdfpath     string `json:"pdfpath"`
 }

+ 28 - 1
controllers/report.go

@@ -8,6 +8,7 @@ import (
 	"hongze/hongze_cygx/utils"
 	"rdluck_tools/paging"
 	"strconv"
+	"strings"
 	"time"
 )
 
@@ -650,12 +651,28 @@ func (this *ReportController) IndustryListByDepartment() {
 		return
 	}
 	for k, v := range list {
-		list[k].List, err = models.GetIndustrialSubjectByDepartment(v.DepartmentId)
+		listDepar, err := models.GetIndustrialSubjectByDepartment(v.DepartmentId)
 		if err != nil {
 			br.Msg = "获取信息失败"
 			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
 			return
 		}
+
+		for k2, v2 := range listDepar {
+			if v2.SubjectName != "" {
+				slice := strings.Split(v2.SubjectName, "/")
+				listDepar[k2].SubjectName = ""
+				for k3, v3 := range slice {
+					if k3 < 4 {
+						listDepar[k2].SubjectName += v3 + "/"
+					}
+				}
+				listDepar[k2].SubjectName = strings.TrimRight(listDepar[k2].SubjectName, "/")
+			}
+			listDepar[k2].IndustryName += "-" + listDepar[k2].SubjectName
+		}
+
+		list[k].List = listDepar
 		if v.FollowNum > 0 {
 			list[k].IsMyFollow = true
 		}
@@ -836,6 +853,16 @@ func (this *ReportController) ReportList() {
 		if v.Readnum == 0 {
 			list[k].IsRed = true
 		}
+		list[k].IsResearch = true
+		slice := strings.Split(v.SubjectName, "/")
+		list[k].SubjectName = ""
+		for k2, v2 := range slice {
+			if k2 < 4 {
+				list[k].SubjectName += v2 + "/"
+			}
+		}
+		list[k].SubjectName = strings.TrimRight(list[k].SubjectName, "/")
+		list[k].IndustryName += "-" + list[k].SubjectName
 		resp.NickName = v.NickName
 		resp.IndustryName = v.IndustryName
 	}

+ 2 - 0
models/article_department.go

@@ -87,6 +87,7 @@ func GetIndustrialSubjectByDepartment(departmentId int) (items []*IndustrialMana
 	o := orm.NewOrm()
 	sql := `SELECT
 m.*,
+	(SELECT  GROUP_CONCAT(DISTINCT s.subject_name   SEPARATOR '/')  FROM cygx_industrial_subject as s  WHERE s.industrial_management_id = m.industrial_management_id  LIMIT 0,3) AS subject_name ,
 	( SELECT publish_date FROM cygx_article AS a INNER JOIN cygx_industrial_article_group_management as mg ON mg.article_id = a.article_id  ORDER BY publish_date DESC LIMIT 1  ) AS art_time
 FROM
 	cygx_article_department AS d
@@ -95,6 +96,7 @@ FROM
 	INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = mg.industrial_management_id 
 	WHERE 1= 1
 	AND 	d.department_id = ?
+	GROUP BY m.industrial_management_id
 	ORDER BY art_time DESC
 	LIMIT 4 `
 	_, err = o.Raw(sql, departmentId).QueryRows(&items)

+ 1 - 0
models/industrial_management.go

@@ -199,6 +199,7 @@ func UpdateIndustrialIsDeepLabel(idStr string) (err error) {
 type IndustrialManagementIdInt struct {
 	IndustrialManagementId int    `description:"产业Id"`
 	IndustryName           string `description:"产业名称"`
+	SubjectName            string `description:"标的名称"`
 }
 
 //获取归类产业报告数量大于10的

+ 3 - 0
models/report.go

@@ -142,9 +142,11 @@ type ReportArticleWhichIndustrial struct {
 	Title        string `description:"标题"`
 	PublishDate  string `description:"发布时间"`
 	IndustryName string `description:"产业名称"`
+	SubjectName  string `description:"标的名称"`
 	NickName     string `description:"作者昵称"`
 	IsRed        bool   `description:"是否标记红点"`
 	Readnum      int    `description:"阅读数量"`
+	IsResearch   bool   `description:"是否属于研选"`
 }
 
 type ReportArticleWhichIndustrialRepList struct {
@@ -159,6 +161,7 @@ func IndustrialToArticleWhichDepartment(condition string, pars []interface{}, ui
 	o := orm.NewOrm()
 	sql := `SELECT
 	art.* ,m.industry_name,d.nick_name,
+	(SELECT  GROUP_CONCAT(DISTINCT s.subject_name   SEPARATOR '/')  FROM cygx_industrial_subject as s  WHERE s.industrial_management_id = m.industrial_management_id  LIMIT 0,4) AS subject_name ,
 	( SELECT COUNT( 1 ) FROM cygx_article_history_record AS rec WHERE rec.user_id =  ` + strconv.Itoa(uid) + ` AND rec.article_id = art.article_id ) AS readnum 
 FROM
 	cygx_article AS art

+ 29 - 0
services/oss.go

@@ -109,3 +109,32 @@ func UploadPdfAliyun(filename, filepath string) (string, error) {
 	path = utils.Imghost + path
 	return path, err
 }
+
+const (
+	HzEndpoint          = "oss-cn-shanghai.aliyuncs.com"
+	HzBucketName string = "hzchart"
+)
+
+//上传文件到阿里云
+func UploadFileToAliyun(filename, filepath, savePath string) error {
+	defer func() {
+		os.Remove(filepath)
+	}()
+	client, err := oss.New(HzEndpoint, utils.AccessKeyId, utils.AccessKeySecret)
+	if err != nil {
+		return err
+	}
+	bucket, err := client.Bucket(HzBucketName)
+	if err != nil {
+		return err
+	}
+	//path := utils.Upload_Audio_Dir + time.Now().Format("200601/20060102/")
+	//path += filename
+	err = bucket.PutObjectFromFile(savePath, filepath)
+	if err != nil {
+		return err
+	}
+	//path = utils.Imghost + path
+	//return path,err
+	return err
+}