Browse Source

Merge branch 'hotfix/chart_framwork_1130'

hsun 1 year ago
parent
commit
6e289226ba
2 changed files with 29 additions and 3 deletions
  1. 21 3
      controllers/data_manage/my_chart.go
  2. 8 0
      models/data_manage/my_chart.go

+ 21 - 3
controllers/data_manage/my_chart.go

@@ -1141,6 +1141,7 @@ func (this *MyChartController) MyChartEdit() {
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
 // @Param   MyChartClassifyId   query   int  true       "我的图表分类id"
 // @Param   MyChartId   query   int  true       "我的图表id"
+// @Param   IsShared   query   bool  false       "是否可分享(如从图库框架请求的属于可分享的)"
 // @Success 200 {object} data_manage.MyChartListResp
 // @router /list [get]
 func (this *MyChartController) MyChartList() {
@@ -1164,6 +1165,7 @@ func (this *MyChartController) MyChartList() {
 	currentIndex, _ := this.GetInt("CurrentIndex")
 
 	myChartId, _ := this.GetInt("MyChartId")
+	isShared, _ := this.GetBool("IsShared")
 
 	var total int
 	page := paging.GetPaging(currentIndex, pageSize, total)
@@ -1180,14 +1182,30 @@ func (this *MyChartController) MyChartList() {
 	var condition string
 	var pars []interface{}
 
-	condition += " AND (a.admin_id=?  or  d.is_public=1)"
-	pars = append(pars, sysUser.AdminId)
-
+	chartAdminId := sysUser.AdminId
 	if myChartClassifyId > 0 {
 		condition += " AND c.my_chart_classify_id=? "
 		pars = append(pars, myChartClassifyId)
+
+		// 可共享
+		if isShared {
+			myClassify, e := data_manage.GetMyChartClassifyByClassifyId(myChartClassifyId)
+			if e != nil {
+				if e.Error() == utils.ErrNoRow() {
+					br.Msg = "分类已被删除, 请刷新页面"
+					return
+				}
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取分类失败, Err: " + e.Error()
+				return
+			}
+			chartAdminId = myClassify.AdminId
+		}
 	}
 
+	condition += " AND (a.admin_id = ? OR d.is_public = 1)"
+	pars = append(pars, chartAdminId)
+
 	if myChartId > 0 {
 		condition += " AND a.my_chart_id=? "
 		pars = append(pars, myChartId)

+ 8 - 0
models/data_manage/my_chart.go

@@ -893,3 +893,11 @@ func GetChartInfoByIdList(chartInfoIdList []int) (items []*ChartInfo, err error)
 	_, err = o.Raw(sql, chartInfoIdList).QueryRows(&items)
 	return
 }
+
+// GetMyChartClassifyByClassifyId 主键获取分类
+func GetMyChartClassifyByClassifyId(classifyId int) (item *MyChartClassify, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM my_chart_classify WHERE my_chart_classify_id = ? `
+	err = o.Raw(sql, classifyId).QueryRow(&item)
+	return
+}