xingzai 3 vuotta sitten
vanhempi
commit
d56e8ec036
1 muutettua tiedostoa jossa 146 lisäystä ja 0 poistoa
  1. 146 0
      controllers/report.go

+ 146 - 0
controllers/report.go

@@ -1745,3 +1745,149 @@ func (this *ReportController) IndustryAndArticleList() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// @Title 产业报告分类关联作者列表接口Pc端
+// @Description 获取产业报告分类关联作者列表接口Pc端
+// @Param   ChartPermissionId   query   int  true       "分类ID"
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Success 200 {object} models.CygxArticleDepartmentList
+// @router /industryListByDepartmentPc [get]
+func (this *ReportController) IndustryListByDepartmentPc() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
+	uid := user.UserId
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	//chartPermissionId, _ := this.GetInt("ChartPermissionId")
+	var startSize int
+	var condition string
+	//condition = `  AND a.publish_status=1  AND m.chart_permission_id =` + strconv.Itoa(chartPermissionId)
+	condition = `  AND a.publish_status=1 `
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = paging.StartIndex(currentIndex, pageSize)
+	total, err := models.GetArticleDepartmentCount(condition)
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	resp := new(models.CygxArticleDepartmentList)
+	userType, _, err := services.GetUserType(user.CompanyId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取用户信息失败,Err:" + err.Error()
+		return
+	}
+	if userType == 1 {
+		resp.Paging = page
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		return
+	}
+	resp.HaveResearch = true
+	//获取作者信息,并排序
+	list, err := models.GetCygxArticleDepartmentList(startSize, pageSize, condition, uid)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	for k, v := range list {
+		artList, err := models.GetArticleByDepartmentId(v.DepartmentId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取文章信息失败,Err:" + err.Error()
+			return
+		}
+		for k2, v2 := range artList {
+			subjectNames, err := models.GetSubjectNames(v2.ArticleId)
+			if err != nil {
+				br.Msg = "获取失败" + strconv.Itoa(v2.ArticleId)
+				br.ErrMsg = "获取失败,Err:" + err.Error()
+				return
+			}
+			var subjectNamesNew string
+			if len(subjectNames) > 0 {
+				slice := strings.Split(subjectNames, "/")
+				for k3, v3 := range slice {
+					if k3 < 4 {
+						subjectNamesNew += v3 + "/"
+					}
+				}
+			}
+			industryName, err := models.GetIndustrialNames(v2.ArticleId)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取失败" + strconv.Itoa(v2.ArticleId)
+				br.ErrMsg = "获取失败,Err:" + err.Error()
+				return
+			}
+			subjectNamesNew = strings.TrimRight(subjectNamesNew, "/")
+			artList[k2].SubjectName = subjectNamesNew
+			artList[k2].DepartmentId = v.DepartmentId
+			if subjectNamesNew == "" {
+				artList[k2].IndustryName = industryName
+			} else {
+				artList[k2].IndustryName = industryName + "-" + subjectNamesNew
+			}
+			if artList[k2].IsReport == "1" {
+				artList[k2].IndustryName = "【观点】" + artList[k2].IndustryName
+			} else {
+				artList[k2].IndustryName = "【纪要】" + artList[k2].IndustryName
+			}
+		}
+		list[k].List = artList
+		if v.FollowNum > 0 {
+			list[k].IsMyFollow = true
+		}
+	}
+	listnNew, err := models.GetIndustrialSubjectByDepartmentNew()
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	if len(listnNew) > 0 {
+		for _, v := range listnNew {
+			firstStr := strings.Index(v.IndustrialAndSubjectIds, "—")
+			Management := new(models.IndustrialManagementIdInt)
+			if firstStr == 0 {
+				Management.IndustryName = v.IndustryName
+			} else {
+				listSub, err := models.GetIndustrialManagementSubjectList(v.ArticleId)
+				if err != nil {
+					br.Msg = "获取信息失败"
+					br.ErrMsg = "获取关联标的列表失败,Err:" + err.Error()
+					return
+				}
+				var subjectNamesNew string
+				for _, v1 := range listSub {
+					subjectNamesNew += v1.SubjectName + "/"
+				}
+				subjectNamesNew = strings.TrimRight(subjectNamesNew, "/")
+				Management.IndustryName = subjectNamesNew
+			}
+			Management.IndustrialManagementId = v.IndustrialManagementId
+			Management.ArticleId = v.ArticleId
+			resp.ListnNew = append(resp.ListnNew, Management)
+		}
+	}
+	resp.List = list
+	resp.Paging = page
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}