Explorar o código

fix:我的图库列表接口过滤无权限图表

Roc %!s(int64=2) %!d(string=hai) anos
pai
achega
b1c3cc7955

+ 19 - 0
controller/chart/my_chart.go

@@ -5,6 +5,7 @@ import (
 	"hongze/hongze_yb/controller/response"
 	"hongze/hongze_yb/models/response/my_chart"
 	chartInfoModel "hongze/hongze_yb/models/tables/chart_info"
+	"hongze/hongze_yb/models/tables/edb_info_no_permission_admin"
 	myChartModel "hongze/hongze_yb/models/tables/my_chart"
 	"hongze/hongze_yb/models/tables/my_chart_classify"
 	myChartClassifyMappingModel "hongze/hongze_yb/models/tables/my_chart_classify_mapping"
@@ -116,6 +117,24 @@ func GetMyChartList(c *gin.Context) {
 		condition += " AND d.my_chart_classify_id = ?"
 		pars = append(pars, reqClassifyId)
 	}
+	// 获取当前账号的不可见指标
+	noPermissionChartIdList := make([]int, 0)
+	{
+		confList, err := edb_info_no_permission_admin.GetAllChartListByAdminId(userInfo.UserID)
+		if err != nil {
+			response.FailMsg("获取失败", "获取不可见指标配置数据失败, Err:"+err.Error(), c)
+			return
+		}
+		for _, v := range confList {
+			noPermissionChartIdList = append(noPermissionChartIdList, v.ChartInfoId)
+		}
+	}
+
+	lenNoPermissionChartIdList := len(noPermissionChartIdList)
+	if lenNoPermissionChartIdList > 0 {
+		condition += ` AND b.chart_info_id not in (?) `
+		pars = append(pars, noPermissionChartIdList)
+	}
 
 	// 分页
 	page, _ := strconv.Atoi(c.Query("Page"))

+ 31 - 0
models/tables/edb_info_no_permission_admin/edb_info_no_permission_admin.go

@@ -0,0 +1,31 @@
+package edb_info_no_permission_admin
+
+import (
+	"time"
+)
+
+// EdbInfoNoPermissionAdmin 指标不可见用户配置表
+type EdbInfoNoPermissionAdmin struct {
+	ID         uint32    `gorm:"primaryKey;column:id;type:int(11) unsigned;not null" json:"-"`
+	EdbInfoID  int       `gorm:"column:edb_info_id;type:int(11);not null;default:0" json:"edbInfoId"` // 指标id
+	AdminID    int       `gorm:"column:admin_id;type:int(11);not null;default:0" json:"adminId"`      // 用户id
+	CreateTime time.Time `gorm:"column:create_time;type:datetime;default:null" json:"createTime"`     // 创建时间
+}
+
+// TableName get sql table name.获取数据库表名
+func (m *EdbInfoNoPermissionAdmin) TableName() string {
+	return "edb_info_no_permission_admin"
+}
+
+// EdbInfoNoPermissionAdminColumns get sql column name.获取数据库列名
+var EdbInfoNoPermissionAdminColumns = struct {
+	ID         string
+	EdbInfoID  string
+	AdminID    string
+	CreateTime string
+}{
+	ID:         "id",
+	EdbInfoID:  "edb_info_id",
+	AdminID:    "admin_id",
+	CreateTime: "create_time",
+}

+ 18 - 0
models/tables/edb_info_no_permission_admin/query.go

@@ -0,0 +1,18 @@
+package edb_info_no_permission_admin
+
+import "hongze/hongze_yb/global"
+
+type NoPermissionChart struct {
+	AdminId     int
+	ChartInfoId int
+}
+
+// GetAllChartListByAdminId 根据用户id获取该用户的所有配置
+func GetAllChartListByAdminId(adminId uint64) (items []*NoPermissionChart, err error) {
+	sql := ` SELECT a.admin_id,b.chart_info_id FROM edb_info_no_permission_admin AS a 
+			JOIN chart_edb_mapping AS b ON a.edb_info_id=b. edb_info_id
+			WHERE a.admin_id = ? ORDER BY a.create_time desc `
+	err = global.MYSQL["data"].Raw(sql, adminId).Scan(&items).Error
+
+	return
+}