浏览代码

Merge branch 'bzq/306_report_classify' of eta_gn_server/eta_api into debug

baoziqiang 3 月之前
父节点
当前提交
a9497f2a8b
共有 2 个文件被更改,包括 16 次插入0 次删除
  1. 10 0
      controllers/report_v2.go
  2. 6 0
      models/classify_visible.go

+ 10 - 0
controllers/report_v2.go

@@ -947,6 +947,16 @@ func (this *ReportController) AuthorizedListReport() {
 
 	var err error
 	var total int
+	noVisibleClassifyIds, err := models.GetNoVisibleClassifyIdByAdminId(this.SysUser.AdminId)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取不可见分类id失败,Err:" + err.Error()
+		return
+	}
+	if len(noVisibleClassifyIds) > 0 {
+		condition += ` AND ( CASE WHEN a.classify_id_third > 0 THEN a.classify_id_third WHEN a.classify_id_second > 0 THEN a.classify_id_second ELSE a.classify_id_first END) NOT IN (?) `
+		pars = append(pars, noVisibleClassifyIds)
+	}
 
 	orCondition := `AND ( (a.is_public_publish = ? AND a.state in (2,6)) or a.admin_id = ? `
 	pars = append(pars, 1, this.SysUser.AdminId)

+ 6 - 0
models/classify_visible.go

@@ -23,6 +23,12 @@ func GetClassifyVisibleAll() (items []*ClassifyVisible, err error) {
 	return
 }
 
+func GetNoVisibleClassifyIdByAdminId(adminId int) (classifyIds []int, err error) {
+	sql := `SELECT classify_id FROM classify_visible GROUP BY classify_id HAVING SUM(CASE WHEN admin_id =? THEN 1 ELSE 0 END) = 0`
+	err = global.DmSQL["rddp"].Raw(sql, adminId).Find(&classifyIds).Error
+	return
+}
+
 func ExtendClassifyVisible(parentId, classifyId int, adminIds []int) (err error) {
 	tx := global.DmSQL["rddp"].Begin()
 	defer func() {