Explorar o código

大宗商品列表接口

ziwen %!s(int64=2) %!d(string=hai) anos
pai
achega
ed563dde30
Modificáronse 2 ficheiros con 89 adicións e 1 borrados
  1. 1 1
      controller/report/report.go
  2. 88 0
      services/report/report.go

+ 1 - 1
controller/report/report.go

@@ -280,7 +280,7 @@ func CommoditiesCollectReportList(c *gin.Context) {
 	}
 	userinfo := userService.GetInfoByClaims(c)
 
-	list, err := report.GetCollectReportList(userinfo, chartPermissionId, pageIndex, pageSize)
+	list, err := report.GetCommoditiesCollectReportList(userinfo, chartPermissionId, pageIndex, pageSize)
 	if err != nil {
 		response.FailMsg("汇总报告查询出错", err.Error(), c)
 		return

+ 88 - 0
services/report/report.go

@@ -1211,3 +1211,91 @@ func GetReportPptImgListByReportIdAndReportChapterId(reportId, reportChapterId i
 
 	return
 }
+
+// GetCommoditiesCollectReportList 大宗商品报告列表
+func GetCommoditiesCollectReportList(user user.UserInfo, chartPermissionId, pageIndex, pageSize int) (ret *response.ReportCollectResp, err error) {
+	var errMsg string
+	defer func() {
+		if err != nil {
+			global.LOG.Critical(fmt.Sprintf("GetCollectReportList: userId=%d, err:%s, errMsg:%s", user.UserID, err.Error(), errMsg))
+		}
+	}()
+
+	// 查询权限的基本信息
+	permissionInfo, err := chart_permission.GetByChartPermissionId(chartPermissionId)
+	if err != nil {
+		errMsg = err.Error()
+		err = errors.New("查询权限出错")
+		return
+	}
+
+	if permissionInfo.ChartPermissionID == 0 {
+		err = errors.New("权限不存在")
+		return
+	}
+	// 除了晨报和周报以外的其他报告
+	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "rddp")
+	if err != nil {
+		errMsg = err.Error()
+		err = errors.New("查询权限对应的分类出错")
+		return
+	}
+
+	var classifySecondIds []int
+	if len(classifyNames) > 0 {
+		classifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
+		if err != nil {
+			errMsg = err.Error()
+			err = errors.New("查询分类出错")
+			return
+		}
+	}
+
+	// 查询晨报和周报相对应的章节ID
+	reportChapterTypeIds, err := report_chapter_type_permission.GetTypeIdsByChartPermissionId(chartPermissionId)
+	if err != nil {
+		errMsg = err.Error()
+		err = errors.New("查询权限对应的章节出错")
+		return
+	}
+
+	var reportList []*response.ReportCollectListItem
+	list := response.ReportCollectListResp{}
+	var total int64
+	if len(reportChapterTypeIds) > 0 || len(classifySecondIds) > 0 {
+		offset := (pageIndex - 1) * pageSize
+		reportList, err = report.GetReportCollectListByPermission(classifySecondIds, reportChapterTypeIds, offset, pageSize)
+		if err != nil {
+			errMsg = err.Error()
+			err = errors.New("查询报告信息出错")
+			return
+		}
+		listMap := make(map[string]*response.ReportCollectList)
+		for _, v := range reportList {
+			v.ContentSub = GetReportContentSub(v.ContentSub, true)
+			if _, ok := listMap[v.PublishTime.Format("2006-01-02")]; !ok {
+				temp := new(response.ReportCollectList)
+				temp.Date = v.PublishTime.Format("2006-01-02")
+				listMap[v.PublishTime.Format("2006-01-02")] = temp
+			}
+			listMap[v.PublishTime.Format("2006-01-02")].SubList = append(listMap[v.PublishTime.Format("2006-01-02")].SubList, v)
+		}
+		for _, v := range listMap {
+			list = append(list, v)
+		}
+		total, err = report.GetReportCollectCountByPermission(classifySecondIds, reportChapterTypeIds)
+		if err != nil {
+			errMsg = err.Error()
+			err = errors.New("查询报告总数出错")
+			return
+		}
+		if len(list) > 0 {
+			sort.Sort(list)
+		}
+	}
+
+	ret = new(response.ReportCollectResp)
+	ret.List = list
+	ret.Paging = response.GetPaging(pageIndex, pageSize, int(total))
+	return
+}