|
@@ -527,7 +527,7 @@ func (r *RoadVideoController) SimpleReportList() {
|
|
cond += ` AND title LIKE ?`
|
|
cond += ` AND title LIKE ?`
|
|
pars = append(pars, kw)
|
|
pars = append(pars, kw)
|
|
}
|
|
}
|
|
- fieldArr := []string{"id", "title", "publish_time"}
|
|
|
|
|
|
+ fieldArr := []string{"id", "classify_id_second", "title", "publish_time"}
|
|
orderRule := ` ORDER BY publish_time DESC, id DESC`
|
|
orderRule := ` ORDER BY publish_time DESC, id DESC`
|
|
reports, e := models.GetReportByCondition(cond, pars, fieldArr, orderRule, true, 0, 5)
|
|
reports, e := models.GetReportByCondition(cond, pars, fieldArr, orderRule, true, 0, 5)
|
|
if e != nil {
|
|
if e != nil {
|
|
@@ -536,12 +536,60 @@ func (r *RoadVideoController) SimpleReportList() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 查询报告权限
|
|
|
|
+ classifyPermissions := make(map[int][]int, 0)
|
|
|
|
+ {
|
|
|
|
+ classifyIds := make([]int, 0)
|
|
|
|
+ for _, v := range reports {
|
|
|
|
+ if utils.InArrayByInt(classifyIds, v.ClassifyIdSecond) {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ classifyIds = append(classifyIds, v.ClassifyIdSecond)
|
|
|
|
+ }
|
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
|
+ cnd := fmt.Sprintf(` AND id IN (%s)`, utils.GetOrmInReplace(len(classifyIds)))
|
|
|
|
+ ps := make([]interface{}, 0)
|
|
|
|
+ ps = append(ps, classifyIds)
|
|
|
|
+ classifies, e := models.GetClassifyByCondition(cnd, "", ps)
|
|
|
|
+ if e != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取报告分类失败, Err: " + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ classifyNames := make([]string, 0)
|
|
|
|
+ classifyNameId := make(map[string]int, 0)
|
|
|
|
+ for _, v := range classifies {
|
|
|
|
+ classifyNameId[v.ClassifyName] = v.Id
|
|
|
|
+ classifyNames = append(classifyNames, v.ClassifyName)
|
|
|
|
+ }
|
|
|
|
+ if len(classifyNames) > 0 {
|
|
|
|
+ classifyNamePermissions, e := models.GetPermissionsByClassifyNames(classifyNames)
|
|
|
|
+ if e != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取分类权限失败, Err: " + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ namePermissions := make(map[string][]int, 0)
|
|
|
|
+ for _, v := range classifyNamePermissions {
|
|
|
|
+ if namePermissions[v.KeyWord] == nil {
|
|
|
|
+ namePermissions[v.KeyWord] = make([]int, 0)
|
|
|
|
+ }
|
|
|
|
+ namePermissions[v.KeyWord] = append(namePermissions[v.KeyWord], v.ChartPermissionId)
|
|
|
|
+ }
|
|
|
|
+ for k, v := range classifyNameId {
|
|
|
|
+ classifyPermissions[v] = namePermissions[k]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
type SimpleReportListResp struct {
|
|
type SimpleReportListResp struct {
|
|
ReportId int
|
|
ReportId int
|
|
Title string
|
|
Title string
|
|
PublishTime string
|
|
PublishTime string
|
|
BindVideo int
|
|
BindVideo int
|
|
BindVideoTitle string
|
|
BindVideoTitle string
|
|
|
|
+ PermissionIds []int
|
|
}
|
|
}
|
|
respList := make([]*SimpleReportListResp, 0)
|
|
respList := make([]*SimpleReportListResp, 0)
|
|
if len(reports) > 0 {
|
|
if len(reports) > 0 {
|
|
@@ -570,6 +618,7 @@ func (r *RoadVideoController) SimpleReportList() {
|
|
PublishTime: reports[i].PublishTime.Format(utils.FormatDateTime),
|
|
PublishTime: reports[i].PublishTime.Format(utils.FormatDateTime),
|
|
BindVideo: bindMap[reports[i].Id],
|
|
BindVideo: bindMap[reports[i].Id],
|
|
BindVideoTitle: bindTitleMap[reports[i].Id],
|
|
BindVideoTitle: bindTitleMap[reports[i].Id],
|
|
|
|
+ PermissionIds: classifyPermissions[reports[i].ClassifyIdSecond],
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|