|
@@ -24,7 +24,11 @@ func GetLatestClassReport(permissionIds []int, userId uint64) (purchaseList []*p
|
|
global.LOG.Critical(fmt.Sprintf("GetLatestClassReport: userId=%d, err:%s, errMsg:%s", userId, err.Error(), errMsg))
|
|
global.LOG.Critical(fmt.Sprintf("GetLatestClassReport: userId=%d, err:%s, errMsg:%s", userId, err.Error(), errMsg))
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
-
|
|
|
|
|
|
+ //获取所有和权限绑定的报告
|
|
|
|
+ reportIds, err := GetReportIdsByPermissionIds(permissionIds)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
//获取最新的晨报
|
|
//获取最新的晨报
|
|
dayReport, err := report.GetLatestDay()
|
|
dayReport, err := report.GetLatestDay()
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -46,41 +50,13 @@ func GetLatestClassReport(permissionIds []int, userId uint64) (purchaseList []*p
|
|
}
|
|
}
|
|
|
|
|
|
var reports []*report.Report
|
|
var reports []*report.Report
|
|
- // 有权限的二级分类
|
|
|
|
- var classifyIdSeconds []int
|
|
|
|
// 获取晨报和周报以外的其他报告
|
|
// 获取晨报和周报以外的其他报告
|
|
- {
|
|
|
|
- //获取有权限的二级分类
|
|
|
|
- var classifyNameSeconds []string
|
|
|
|
- chartPermissions, tErr := chart_permission_search_key_word_mapping.GetChartPermissionByFrom("rddp")
|
|
|
|
- if tErr != nil {
|
|
|
|
- errMsg = tErr.Error()
|
|
|
|
- err = errors.New("分类权限查询出错")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if len(chartPermissions) > 0 {
|
|
|
|
- for _, v := range chartPermissions {
|
|
|
|
- for _, myPerId := range permissionIds {
|
|
|
|
- if v.ChartPermissionId == myPerId {
|
|
|
|
- classifyNameSeconds = append(classifyNameSeconds, v.KeyWord)
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //获取所有二级分类的id
|
|
|
|
- classifyIdSeconds, tErr = classify.GetIdsByClassifyName(classifyNameSeconds)
|
|
|
|
- if tErr != nil {
|
|
|
|
- errMsg = tErr.Error()
|
|
|
|
- err = errors.New("二级分类查询出错")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- reports, err = report.GetLatestClassReportsByClassifyIdSeconds(classifyIdSeconds)
|
|
|
|
- if err != nil {
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
|
|
+ reports, err = report.GetLatestClassReportsByIDs(reportIds)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
if dayReport != nil {
|
|
if dayReport != nil {
|
|
reports = append(reports, dayReport)
|
|
reports = append(reports, dayReport)
|
|
|
|
|
|
@@ -90,7 +66,7 @@ func GetLatestClassReport(permissionIds []int, userId uint64) (purchaseList []*p
|
|
}
|
|
}
|
|
|
|
|
|
//获取未读数
|
|
//获取未读数
|
|
- unReadItem, tErr := GetUnRead(classifyIdSeconds, userId)
|
|
|
|
|
|
+ unReadItem, tErr := GetUnRead(reportIds, userId)
|
|
if tErr != nil {
|
|
if tErr != nil {
|
|
err = tErr
|
|
err = tErr
|
|
return
|
|
return
|
|
@@ -139,7 +115,7 @@ func GetPurchaseDetail(permissionIds []int, userId uint64, classifyIdFirst int,
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
var reports []*report.Report
|
|
var reports []*report.Report
|
|
- var weekReportIds []int
|
|
|
|
|
|
+ var reportIds []int
|
|
|
|
|
|
classifyInfo, err := classify.GetByClassifyId(classifyIdFirst)
|
|
classifyInfo, err := classify.GetByClassifyId(classifyIdFirst)
|
|
if err != nil {
|
|
if err != nil {
|
|
@@ -155,13 +131,15 @@ func GetPurchaseDetail(permissionIds []int, userId uint64, classifyIdFirst int,
|
|
classifyNameFirst := classifyInfo.ClassifyName
|
|
classifyNameFirst := classifyInfo.ClassifyName
|
|
offset := (pageIndex - 1) * pageSize
|
|
offset := (pageIndex - 1) * pageSize
|
|
var total int64
|
|
var total int64
|
|
- var classifyIdSeconds []int
|
|
|
|
if classifyNameFirst == "晨报" {
|
|
if classifyNameFirst == "晨报" {
|
|
//分类获取
|
|
//分类获取
|
|
reports, err = report.GetListByClassifyIdFirst(classifyIdFirst, offset, pageSize)
|
|
reports, err = report.GetListByClassifyIdFirst(classifyIdFirst, offset, pageSize)
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ for _, v := range reports {
|
|
|
|
+ reportIds = append(reportIds, v.Id)
|
|
|
|
+ }
|
|
total, err = report.GetListCountByClassifyIdFirst(classifyIdFirst)
|
|
total, err = report.GetListCountByClassifyIdFirst(classifyIdFirst)
|
|
if err != nil {
|
|
if err != nil {
|
|
errMsg = err.Error()
|
|
errMsg = err.Error()
|
|
@@ -174,57 +152,26 @@ func GetPurchaseDetail(permissionIds []int, userId uint64, classifyIdFirst int,
|
|
if tErr != nil {
|
|
if tErr != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- weekReportIds, err = report_chapter.GetReportIdsByTypeIdsAndClass(newTypeIds, classifyNameFirst)
|
|
|
|
|
|
+ reportIds, err = report_chapter.GetReportIdsByTypeIdsAndClass(newTypeIds, classifyNameFirst)
|
|
|
|
+ } else {
|
|
|
|
+ reportIds, err = GetReportIdsByPermissionIds(permissionIds)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if len(reportIds) > 0 {
|
|
//分类获取
|
|
//分类获取
|
|
- reports, err = report.GetListByIDsAndClassifyIdFirst(weekReportIds, classifyIdFirst, offset, pageSize)
|
|
|
|
|
|
+ reports, err = report.GetListByIDsAndClassifyIdFirst(reportIds, classifyIdFirst, offset, pageSize)
|
|
if err != nil {
|
|
if err != nil {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- total, err = report.GetListCountByIDsAndClassifyIdFirst(weekReportIds, classifyIdFirst)
|
|
|
|
|
|
+ total, err = report.GetListCountByIDsAndClassifyIdFirst(reportIds, classifyIdFirst)
|
|
if err != nil {
|
|
if err != nil {
|
|
errMsg = err.Error()
|
|
errMsg = err.Error()
|
|
err = errors.New("查询报告总数出错")
|
|
err = errors.New("查询报告总数出错")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- //获取有权限的二级分类
|
|
|
|
- var classifyNameSeconds []string
|
|
|
|
- chartPermissions, tErr := chart_permission_search_key_word_mapping.GetChartPermissionByFrom("rddp")
|
|
|
|
- if tErr != nil {
|
|
|
|
- errMsg = tErr.Error()
|
|
|
|
- err = errors.New("分类权限查询出错")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if len(chartPermissions) > 0 {
|
|
|
|
- for _, v := range chartPermissions {
|
|
|
|
- for _, myPerId := range permissionIds {
|
|
|
|
- if v.ChartPermissionId == myPerId {
|
|
|
|
- classifyNameSeconds = append(classifyNameSeconds, v.KeyWord)
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //获取所有二级分类的id
|
|
|
|
- classifyIdSeconds, tErr = classify.GetIdsByClassifyNameAndParentId(classifyNameSeconds, classifyIdFirst)
|
|
|
|
- if tErr != nil {
|
|
|
|
- errMsg = tErr.Error()
|
|
|
|
- err = errors.New("二级分类查询出错")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if len(classifyIdSeconds) > 0 {
|
|
|
|
- //分类获取
|
|
|
|
- reports, err = report.GetListByClassifyIdSecondsAndClassifyIdFirst(classifyIdSeconds, classifyIdFirst, offset, pageSize)
|
|
|
|
- if err != nil {
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- total, err = report.GetListCountByClassifyIdSecondsAndClassifyIdFirst(classifyIdSeconds, classifyIdFirst)
|
|
|
|
- if err != nil {
|
|
|
|
- errMsg = err.Error()
|
|
|
|
- err = errors.New("查询报告总数出错")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var list []*purchase.Detail
|
|
var list []*purchase.Detail
|
|
@@ -259,7 +206,7 @@ func GetPurchaseDetail(permissionIds []int, userId uint64, classifyIdFirst int,
|
|
}
|
|
}
|
|
ret.List = list
|
|
ret.List = list
|
|
ret.Paging = response.GetPaging(pageIndex, pageSize, int(total))
|
|
ret.Paging = response.GetPaging(pageIndex, pageSize, int(total))
|
|
- _, tErr := BatchInsertReportView(weekReportIds, userId, classifyNameFirst, classifyIdSeconds)
|
|
|
|
|
|
+ _, tErr := BatchInsertReportView(reportIds, userId, classifyNameFirst)
|
|
if tErr != nil {
|
|
if tErr != nil {
|
|
err = tErr
|
|
err = tErr
|
|
return
|
|
return
|