|
@@ -6,81 +6,57 @@ import (
|
|
|
"hongze/hongze_yb/models/tables/chart_permission_chapter_mapping"
|
|
|
"hongze/hongze_yb/models/tables/rddp/report"
|
|
|
"hongze/hongze_yb/models/tables/rddp/report_chapter"
|
|
|
+ "hongze/hongze_yb/models/tables/report_chapter_type"
|
|
|
)
|
|
|
|
|
|
func GetLatestClassReport(permissionIds []int) (purchaseList []*purchase.PurchaseListItem, err error) {
|
|
|
- //获取除了晨报和周报以外的报告信息
|
|
|
- otherReportIds, err := chart_permission_chapter_mapping.GetOtherReportIdsByPermisssionIds(permissionIds)
|
|
|
+ //获取所有和权限绑定的报告
|
|
|
+ reportIds, err := chart_permission_chapter_mapping.GetReportIdsByPermisssionIds(permissionIds)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- if len(otherReportIds) > 0 {
|
|
|
- otherReports, tErr := report.GetLatestClassReportsByIDs(otherReportIds)
|
|
|
- if tErr != nil {
|
|
|
- err = tErr
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range otherReports {
|
|
|
- temp := new(purchase.PurchaseListItem)
|
|
|
- temp.ReportId = v.Id
|
|
|
- temp.ClassifyIdFirst = v.ClassifyIdFirst
|
|
|
- temp.ClassifyNameFirst = v.ClassifyNameFirst
|
|
|
- temp.Stage = v.Stage
|
|
|
- temp.Title = v.Title
|
|
|
- temp.ClassifyIdSecond = v.ClassifyIdSecond
|
|
|
- temp.ClassifyNameSecond = v.ClassifyNameSecond
|
|
|
- if temp.ClassifyIdSecond > 0 { //包含二级分类
|
|
|
- temp.Content = fmt.Sprintf("【第%d期|FICC| %s】%s", v.Stage, v.ClassifyNameSecond, v.ClassifyNameFirst)
|
|
|
- } else { //无二级分类
|
|
|
- temp.Content = fmt.Sprintf("【第%d期|FICC】%s", v.Stage, v.ClassifyNameFirst)
|
|
|
- }
|
|
|
- temp.Time = v.PublishTime
|
|
|
- purchaseList = append(purchaseList, temp)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //获取晨报和周报的章节相关信息
|
|
|
- reportIds, err := chart_permission_chapter_mapping.GetDayReportIdsByPermisssionIds(permissionIds)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
if len(reportIds) > 0 {
|
|
|
- reportChapters, tErr := report_chapter.GetLatestClassReportChapterByIDs(reportIds)
|
|
|
-
|
|
|
+ reports, tErr := report.GetLatestClassReportsByIDs(reportIds)
|
|
|
if tErr != nil {
|
|
|
err = tErr
|
|
|
return
|
|
|
}
|
|
|
- var ids []int
|
|
|
- for _, v := range reportChapters {
|
|
|
- ids = append(ids, v.ReportId)
|
|
|
- }
|
|
|
- reports, tErr := report.GetByIds(ids)
|
|
|
+ //查询有效的章节
|
|
|
+ var chapter *report_chapter.ReportChapter
|
|
|
+ typeIds, tErr := report_chapter_type.GetEffectTypeID()
|
|
|
if tErr != nil {
|
|
|
err = tErr
|
|
|
return
|
|
|
}
|
|
|
- reportMap := make(map[int]*report.Report, 0)
|
|
|
for _, v := range reports {
|
|
|
- reportMap[v.Id] = v
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range reportChapters {
|
|
|
temp := new(purchase.PurchaseListItem)
|
|
|
- ids = append(ids, v.ReportId)
|
|
|
- temp.ReportId = v.ReportId
|
|
|
- temp.ReportChapterId = v.ReportChapterId
|
|
|
+ temp.ReportId = v.Id
|
|
|
temp.ClassifyIdFirst = v.ClassifyIdFirst
|
|
|
temp.ClassifyNameFirst = v.ClassifyNameFirst
|
|
|
- temp.Stage = reportMap[v.ReportId].Stage
|
|
|
+ temp.Stage = v.Stage
|
|
|
temp.Title = v.Title
|
|
|
- temp.Content = fmt.Sprintf("【第%d期|FICC|%s】%s", temp.Stage, v.TypeName, v.ClassifyNameFirst)
|
|
|
+ temp.ClassifyIdSecond = v.ClassifyIdSecond
|
|
|
+ temp.ClassifyNameSecond = v.ClassifyNameSecond
|
|
|
+ if temp.ClassifyNameFirst == "晨报" || temp.ClassifyNameFirst == "周报" { //晨报或者周报,查询最新的章节信息
|
|
|
+ if len(typeIds) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ chapter, err = report_chapter.GetLatestChapterByReportId(v.Id, typeIds)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ temp.Content = fmt.Sprintf("【第%d期|FICC|%s】%s", temp.Stage, chapter.TypeName, temp.ClassifyNameFirst)
|
|
|
+ }else{
|
|
|
+ if temp.ClassifyIdSecond > 0 { //包含二级分类
|
|
|
+ temp.Content = fmt.Sprintf("【第%d期|FICC| %s】%s", temp.Stage, temp.ClassifyNameSecond, temp.ClassifyNameFirst)
|
|
|
+ } else { //无二级分类
|
|
|
+ temp.Content = fmt.Sprintf("【第%d期|FICC】%s", temp.Stage, temp.ClassifyNameFirst)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
temp.Time = v.PublishTime
|
|
|
purchaseList = append(purchaseList, temp)
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
return
|
|
|
}
|