|
@@ -1695,14 +1695,28 @@ func GetReportListByCollectCountV2(classifyIdFirst, classifyIdSecond, classifyId
|
|
|
SELECT COUNT(DISTINCT t.id) AS totalCount
|
|
|
FROM (
|
|
|
SELECT b.id
|
|
|
- FROM report AS b left join chart_permission_search_key_word_mapping c on
|
|
|
-b.classify_id_first = c.classify_id
|
|
|
- WHERE 1 = 1
|
|
|
+ FROM report AS b WHERE 1 = 1
|
|
|
`
|
|
|
if len(chartPermissionIdList) > 0 {
|
|
|
- sql += ` and c.chart_permission_id in (` + utils.GetOrmInReplace(len(chartPermissionIdList)) + `)`
|
|
|
- for _, chartPermissionId := range chartPermissionIdList {
|
|
|
- params = append(params, chartPermissionId)
|
|
|
+ classifyIds, e := GetClassifyIdsByPermissionId(chartPermissionIdList)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
+ sql += ` AND ( (b.classify_id_first IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) AND b.classify_id_second = 0)
|
|
|
+ OR (b.classify_id_second IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) AND b.classify_id_third = 0)
|
|
|
+ OR b.classify_id_third IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) )`
|
|
|
+ for _, classifyId := range classifyIds {
|
|
|
+ params = append(params, classifyId)
|
|
|
+ }
|
|
|
+ for _, classifyId := range classifyIds {
|
|
|
+ params = append(params, classifyId)
|
|
|
+ }
|
|
|
+ for _, classifyId := range classifyIds {
|
|
|
+ params = append(params, classifyId)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1764,12 +1778,14 @@ func GetReportListByCollectListV2(classifyIdFirst, classifyIdSecond, classifyIdT
|
|
|
|
|
|
// SQL 主体
|
|
|
sql := `
|
|
|
- SELECT DISTINCT t.id, t.title, t.author, t.modify_time, t.publish_time,t.classify_id_first,t.classify_name_first,t.classify_id_second,t.classify_name_second,t.classify_id_third,t.classify_name_third
|
|
|
+ SELECT DISTINCT t.id, t.title, t.author, t.modify_time, t.publish_time,t.classify_id_first,t.classify_name_first,
|
|
|
+t.classify_id_second,t.classify_name_second,t.classify_id_third,t.classify_name_third,
|
|
|
+t.abstract,t.admin_id,t.admin_real_name,t.last_modify_admin_id,t.last_modify_admin_name
|
|
|
FROM (
|
|
|
- SELECT b.id, b.title, b.author, b.modify_time, b.publish_time,b.classify_id_first,b.classify_name_first,b.classify_id_second,b.classify_name_second,b.classify_id_third,b.classify_name_third
|
|
|
- FROM report AS b left join chart_permission_search_key_word_mapping c on
|
|
|
-b.classify_id_first = c.classify_id
|
|
|
- WHERE 1 = 1
|
|
|
+ SELECT b.id, b.title, b.author, b.modify_time, b.publish_time,b.classify_id_first,b.classify_name_first,
|
|
|
+b.classify_id_second,b.classify_name_second,b.classify_id_third,b.classify_name_third,
|
|
|
+b.abstract,b.admin_id,b.admin_real_name,b.last_modify_admin_id,b.last_modify_admin_name
|
|
|
+ FROM report AS b WHERE 1 = 1
|
|
|
`
|
|
|
|
|
|
// 处理关键词
|
|
@@ -1818,9 +1834,25 @@ b.classify_id_first = c.classify_id
|
|
|
}
|
|
|
|
|
|
if len(chartPermissionIdList) > 0 {
|
|
|
- sql += ` and c.chart_permission_id in (` + utils.GetOrmInReplace(len(chartPermissionIdList)) + `)`
|
|
|
- for _, chartPermissionId := range chartPermissionIdList {
|
|
|
- params = append(params, chartPermissionId)
|
|
|
+ classifyIds, e := GetClassifyIdsByPermissionId(chartPermissionIdList)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(classifyIds) > 0 {
|
|
|
+ sql += ` AND ( (b.classify_id_first IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) AND b.classify_id_second = 0)
|
|
|
+ OR (b.classify_id_second IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) AND b.classify_id_third = 0)
|
|
|
+ OR b.classify_id_third IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) )`
|
|
|
+ for _, classifyId := range classifyIds {
|
|
|
+ params = append(params, classifyId)
|
|
|
+ }
|
|
|
+ for _, classifyId := range classifyIds {
|
|
|
+ params = append(params, classifyId)
|
|
|
+ }
|
|
|
+ for _, classifyId := range classifyIds {
|
|
|
+ params = append(params, classifyId)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|