Browse Source

新增接口

zwxi 5 months ago
parent
commit
c244c2b48c
3 changed files with 212 additions and 22 deletions
  1. 175 22
      controllers/bi_dashboard.go
  2. 10 0
      models/bi_dashboard/bi_dashboard_grant.go
  3. 27 0
      routers/commentsRouter.go

+ 175 - 22
controllers/bi_dashboard.go

@@ -533,9 +533,9 @@ func (this *BIDaShboardController) PublicList() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	grantList := bi_dashboard.RespGroupList{}
+	resp := make([]*bi_dashboard.RespPublicGroupListItem, 0)
 	// 获取公共看板列表
-	publicCond := ` AND state = 6 `
+	publicCond := ` AND state = 6 AND bi_dashboard_classify_id > 0 `
 	publicPars := []interface{}{this.SysUser.AdminId}
 	publicList, err := bi_dashboard.GetBiDashboardList(publicCond, publicPars)
 	if err != nil {
@@ -549,6 +549,7 @@ func (this *BIDaShboardController) PublicList() {
 
 	publicAdminIdList := make([]int, 0)
 	publicDashboardListMap := make(map[int][]*bi_dashboard.BiDashboard)
+	publicDashboardClassifyIdMap := make(map[int]int)
 	for _, v := range publicList {
 		publicDashboardList, ok := publicDashboardListMap[v.SysAdminId]
 		if !ok {
@@ -572,6 +573,7 @@ func (this *BIDaShboardController) PublicList() {
 		}
 		publicDashboardList = append(publicDashboardList, tmp)
 		publicDashboardListMap[v.SysAdminId] = publicDashboardList
+		publicDashboardClassifyIdMap[v.BiDashboardClassifyId] = v.BiDashboardClassifyId
 	}
 	// 创建人信息
 	systemAdminMap := make(map[int]*system.Admin)
@@ -583,26 +585,48 @@ func (this *BIDaShboardController) PublicList() {
 		systemAdminMap[v.AdminId] = v
 	}
 
-	for _, v := range publicAdminIdList {
-		systemAdmin, ok := systemAdminMap[v]
-		if !ok {
-			continue
-		}
+	classifyList, err := bi_dashboard.GetBiDashboardClassifyAllList()
+	if err != nil {
+		br.Msg = "查询失败"
+		br.ErrMsg = "查询失败,Err:" + err.Error()
+		return
+	}
 
-		// 看板 列表信息
-		respGroupNameListItemList, ok := publicDashboardListMap[v]
-		if !ok {
-			respGroupNameListItemList = make([]*bi_dashboard.BiDashboard, 0)
+	for _, c := range classifyList {
+		tmpItem := &bi_dashboard.RespPublicGroupListItem{
+			GroupId:   int64(c.BiDashboardClassifyId),
+			GroupName: c.BiDashboardClassifyName,
 		}
-
-		// ppt 分组信息
-		tmpRespGroupListItem := &bi_dashboard.RespOtherGroupListItem{
-			GroupId:       int64(systemAdmin.AdminId),
-			GroupName:     systemAdmin.RealName,
-			AdminId:       systemAdmin.AdminId,
-			DashboardList: respGroupNameListItemList,
+		if _, ok := publicDashboardClassifyIdMap[c.BiDashboardClassifyId]; ok {
+			for _, v := range publicAdminIdList {
+				systemAdmin, ok := systemAdminMap[v]
+				if !ok {
+					continue
+				}
+
+				// 看板 列表信息
+				respGroupNameListItemList, ok := publicDashboardListMap[v]
+				if !ok {
+					respGroupNameListItemList = make([]*bi_dashboard.BiDashboard, 0)
+				}
+
+				// ppt 分组信息
+				tmpRespGroupListItem := &bi_dashboard.RespPublicGroupListItem{
+					GroupId:   int64(systemAdmin.AdminId),
+					GroupName: systemAdmin.RealName,
+					AdminId:   systemAdmin.AdminId,
+				}
+
+				for _, vv := range respGroupNameListItemList {
+					if vv.BiDashboardClassifyId == c.BiDashboardClassifyId {
+						tmpRespGroupListItem.DashboardList = append(tmpRespGroupListItem.DashboardList, vv)
+					}
+				}
+				tmpItem.Children = append(tmpItem.Children, tmpRespGroupListItem)
+
+				resp = append(resp, tmpItem)
+			}
 		}
-		grantList.OtherList = append(grantList.OtherList, tmpRespGroupListItem)
 	}
 
 	br.Ret = 200
@@ -795,7 +819,6 @@ func (this *BIDaShboardController) Grant() {
 
 	list := make([]*bi_dashboard.BiDashboardGrant, 0)
 
-
 	grantAdminIdStrList := strings.Split(req.AdminIdStr, ",")
 	lenGrantAdminIdStrList := len(grantAdminIdStrList) //指定用户的人数
 	for _, v := range grantAdminIdStrList {
@@ -870,7 +893,6 @@ func (this *BIDaShboardController) Public() {
 		return
 	}
 
-
 	item, err := bi_dashboard.GetDashboardById(req.BiDashboardId)
 	if err != nil && !utils.IsErrNoRow(err) {
 		br.Msg = "获取数据异常!"
@@ -889,7 +911,7 @@ func (this *BIDaShboardController) Public() {
 	} else {
 		item.State = 6
 	}
-	
+
 	item.BiDashboardClassifyId = req.ClassifyId
 
 	err = bi_dashboard.EditDashboard(item)
@@ -904,3 +926,134 @@ func (this *BIDaShboardController) Public() {
 	br.IsAddLog = true
 	br.Msg = "分配成功"
 }
+
+// GroupList
+// @Title 获取分类列表
+// @Description 获取分类列表接口
+// @Success 200 {object} models.RespGroupList
+// @router /classify/list [get]
+func (this *BIDaShboardController) ClassifyList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	classifyList, err := bi_dashboard.GetBiDashboardClassifyAllList()
+	if err != nil {
+		br.Msg = "查询失败"
+		br.ErrMsg = "查询失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "查询成功"
+	br.Data = classifyList
+	return
+}
+
+// CancelGrant
+// @Title 取消分配看板权限
+// @Description 取消分配看板权限
+// @Param	request	body bi_dashboard.DelDashboardReq true "type json string"
+// @Success 200 Ret=200 分配成功
+// @router /grant/cancel [post]
+func (this *BIDaShboardController) CancelGrant() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req bi_dashboard.DelDashboardReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.BiDashboardId <= 0 {
+		br.Msg = "参数错误"
+		return
+	}
+
+	item, err := bi_dashboard.GetDashboardById(req.BiDashboardId)
+	if err != nil {
+		br.Msg = "数据不存在"
+		br.ErrMsg = "数据不存在,Err:" + err.Error()
+		return
+	}
+	if item.SysAdminId != this.SysUser.AdminId {
+		br.Msg = "无权配置"
+		return
+	}
+
+	// 分配
+	err = bi_dashboard.DeleteDashboardGrant(req.BiDashboardId)
+	if err != nil {
+		br.Msg = "取消失败"
+		br.ErrMsg = "取消失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.IsAddLog = true
+	br.Msg = "取消成功"
+}
+
+// GrantInfo
+// @Title 获取分配ppt权限详情
+// @Description 获取分配ppt权限详情接口
+// @Param    BiDashboardId   query   int  true       "看板的id"
+// @Success 200 {object} models.GrantInfoResp
+// @router /grant/info [get]
+func (this *BIDaShboardController) GrantInfo() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	biDashboardId, _ := this.GetInt("BiDashboardId")
+	if biDashboardId <= 0 {
+		br.Msg = "参数错误"
+		return
+	}
+
+	item, err := bi_dashboard.GetDashboardById(biDashboardId)
+	if err != nil {
+		br.Msg = "数据不存在"
+		br.ErrMsg = "数据不存在,Err:" + err.Error()
+		return
+	}
+	if item.SysAdminId != this.SysUser.AdminId {
+		br.Msg = "无权配置"
+		return
+	}
+
+	grantInfoList, err := bi_dashboard.GetDashboardGrantInfo(biDashboardId)
+	if err != nil {
+		br.Msg = "信息获取失败"
+		br.ErrMsg = "信息获取失败,Err:" + err.Error()
+		return
+	}
+
+	if len(grantInfoList) <= 0 {
+		br.Msg = "未配置"
+		br.IsSendEmail = false
+		return
+	}
+
+	var adminIdStr string
+
+	adminIdsList := make([]string, 0)
+	for _, v := range grantInfoList {
+		adminIdsList = append(adminIdsList, strconv.Itoa(int(v.GrantAdminId)))
+	}
+	adminIdStr = strings.Join(adminIdsList, ",")
+
+	br.Ret = 200
+	br.Success = true
+	br.Data = adminIdStr
+	br.Msg = "查询成功"
+}

+ 10 - 0
models/bi_dashboard/bi_dashboard_grant.go

@@ -61,3 +61,13 @@ type PublicDashboardReq struct {
 	BiDashboardId int `description:"看板id" `
 	ClassifyId    int `description:"分类id"`
 }
+
+// del
+func DeleteDashboardGrant(biDashboardId int) (err error) {
+	return global.DEFAULT_DmSQL.Delete(&BiDashboardGrant{}, biDashboardId).Error
+}
+
+// get
+func GetDashboardGrantInfo(biDashboardId int) (list []*BiDashboardGrant, err error) {
+	return list, global.DEFAULT_DmSQL.Where("bi_dashboard_id=?", biDashboardId).Find(&list).Error
+}

+ 27 - 0
routers/commentsRouter.go

@@ -8260,6 +8260,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"],
+        beego.ControllerComments{
+            Method: "ClassifyList",
+            Router: `/classify/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"],
         beego.ControllerComments{
             Method: "DeleteDashboard",
@@ -8314,6 +8323,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"],
+        beego.ControllerComments{
+            Method: "CancelGrant",
+            Router: `/grant/cancel`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"],
+        beego.ControllerComments{
+            Method: "GrantInfo",
+            Router: `/grant/info`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers:BIDaShboardController"],
         beego.ControllerComments{
             Method: "MyList",