Browse Source

fix: 权限列表

hsun 1 year ago
parent
commit
fbf1136ad6
2 changed files with 27 additions and 5 deletions
  1. 14 3
      controllers/fe_calendar/fe_calendar_matter.go
  2. 13 2
      models/chart_permission.go

+ 14 - 3
controllers/fe_calendar/fe_calendar_matter.go

@@ -343,16 +343,27 @@ func (this *FeCalendarMatterController) PermissionList() {
 		this.ServeJSON()
 	}()
 
-	list, e := models.GetSecondaryChartPermissions()
+	permissions, e := models.GetChartPermissionsByProductId()
 	if e != nil {
 		br.Msg = "获取失败"
-		br.ErrMsg = "获取二级品种列表失败, Err: " + e.Error()
+		br.ErrMsg = "获取品种列表失败, Err: " + e.Error()
 		return
 	}
 	resp := make([]*models.SimpleChartPermission, 0)
-	for _, v := range list {
+	parentPermissions := make(map[int][]*models.SimpleChartPermission, 0)
+	for _, v := range permissions {
+		if v.ParentId > 0 {
+			if parentPermissions[v.ParentId] == nil {
+				parentPermissions[v.ParentId] = make([]*models.SimpleChartPermission, 0)
+			}
+			parentPermissions[v.ParentId] = append(parentPermissions[v.ParentId], models.FormatChartPermission2Simple(v))
+			continue
+		}
 		resp = append(resp, models.FormatChartPermission2Simple(v))
 	}
+	for _, v := range resp {
+		v.Children = parentPermissions[v.ChartPermissionId]
+	}
 
 	br.Data = resp
 	br.Ret = 200

+ 13 - 2
models/chart_permission.go

@@ -30,6 +30,7 @@ type ChartPermission struct {
 	CygxAuth            int       `description:"是否是权限,用于查研观向小程序前台权限校验"`
 	YbImgUrl            string    `description:"研报小程序报告列表icon"`
 	PriceDrivenState    int       `description:"品种价格驱动开启状态 0-关闭 1-开启"`
+	ParentId            int       `description:"父级ID"`
 }
 
 // GetChartPermissionList 获取品种权限列表
@@ -57,8 +58,10 @@ func GetSecondaryChartPermissions() (list []*ChartPermission, err error) {
 }
 
 type SimpleChartPermission struct {
-	ChartPermissionId   int    `description:"品种ID"`
-	ChartPermissionName string `description:"品种名称"`
+	ChartPermissionId   int                      `description:"品种ID"`
+	ChartPermissionName string                   `description:"品种名称"`
+	Sort                int                      `description:"排序"`
+	Children            []*SimpleChartPermission `description:"子分类"`
 }
 
 func FormatChartPermission2Simple(origin *ChartPermission) (item *SimpleChartPermission) {
@@ -70,3 +73,11 @@ func FormatChartPermission2Simple(origin *ChartPermission) (item *SimpleChartPer
 	item.ChartPermissionName = origin.PermissionName
 	return
 }
+
+// GetChartPermissionsByProductId 获取权限列表
+func GetChartPermissionsByProductId() (list []*ChartPermission, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM chart_permission WHERE product_id = ? AND enabled = 1 ORDER BY parent_id ASC, sort ASC, created_time ASC`
+	_, err = o.Raw(sql, FiccProductId).QueryRows(&list)
+	return
+}