package data_manage import ( "encoding/json" "eta_gn/eta_api/controllers" "eta_gn/eta_api/models" "eta_gn/eta_api/models/data_manage" "eta_gn/eta_api/models/data_manage/request" "eta_gn/eta_api/models/data_manage/response" "eta_gn/eta_api/services/data" ) // EdbInfoShareController 数据管理 type EdbInfoShareController struct { controllers.BaseAuthController } // UserList // @Title 获取指标设置共享的详情 // @Description 获取指标详情接口 // @Param EdbInfoId query int true "指标id" // @Success 200 {object} response.EdbInfoShareUserResp // @router /edb_info/share/user_list [get] func (c *EdbInfoShareController) UserList() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() sysUser := c.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } edbInfoId, _ := c.GetInt("EdbInfoId") if edbInfoId <= 0 { br.Msg = "参数错误" br.ErrMsg = "参数错误" return } _, err := data_manage.GetEdbInfoById(edbInfoId) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取指标信息失败,Err:" + err.Error() return } //// TODO 权限校验 //{ // classifyMap := make(map[int]*data_manage.EdbClassifyIdItems) // for _, v := range classifyList { // classifyMap[v.ClassifyId] = v // } // if currClassify, ok := classifyMap[edbInfo.ClassifyId]; ok { // haveOperaAuth, err := data_manage_permission.CheckEdbPermission(edbInfo.IsJoinPermission, currClassify.IsJoinPermission, c.SysUser.AdminId, edbInfo.EdbInfoId, edbInfo.ClassifyId) // if err != nil { // br.Msg = err.Error() // br.ErrMsg = "校验指标权限失败,err:" + err.Error() // return // } // resp.HaveOperaAuth = haveOperaAuth // } //} resp := response.EdbInfoShareUserResp{} obj := data_manage.EdbInfoShare{} list, err := obj.GetListByEdbInfoId(edbInfoId) if err != nil { br.Msg = `获取失败` br.ErrMsg = `获取失败:` + err.Error() return } resp.List = list if len(list) > 0 { resp.ShareType = list[0].ShareType } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp } // Save // @Title 保存指标指标设置共享的详情 // @Description 获取指标详情接口 // @Param request body request.SetEdbInfoShareReq true "type json string" // @Success 200 {object} data_manage.EdbInfo // @router /edb_info/share/save [post] func (c *EdbInfoShareController) Save() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() sysUser := c.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } var req request.SetEdbInfoShareReq err := json.Unmarshal(c.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } obj := data_manage.EdbInfoShare{} err = obj.SaveEdbInfoShare([]int{req.EdbInfoId}, req.UserIdList, req.ShareType) if err != nil { br.Msg = `保存失败` br.ErrMsg = `保存失败:` + err.Error() return } // 更新es go data.AddOrEditEdbInfoToEs(req.EdbInfoId) br.Ret = 200 br.Success = true br.Msg = "保存成功" }