package controllers import ( "eta/eta_api/models" "eta/eta_api/utils" ) // EdbDetail // @Title 指标列表 // @Description 指标列表 // @Param TradeCode query string true "指标编码" // @Success 200 {object} models.TargetDetailResp // @router /target/edb/detail [get] func (this *TargetController) EdbDetail() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请重新登录" return } // 指标编码 tradeCode := this.GetString("TradeCode") if tradeCode == `` { br.Msg = "请输入指标编码" br.IsSendEmail = false return } manualEdbInfo, err := models.GetTargetByTradeCode(tradeCode) if err != nil { br.Msg = "获取指标失败" br.ErrMsg = "获取指标失败,err:" + err.Error() return } // 如果不是超管账号,那么得校验下当前用户是否有该指标的权限 if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN { //获取账户所拥有权限的分类id集合 count, err := models.GetCountManualUserClassify(sysUser.AdminId, manualEdbInfo.ClassifyId) if err != nil { br.Msg = "获取分类数据失败" br.ErrMsg = "获取分类数据失败,err:" + err.Error() return } if count <= 0 { br.Msg = "无权访问" br.ErrMsg = "无权访问" br.IsSendEmail = false return } } classifyList := make([]*models.EdbdataClassify, 0) { classify, err := models.GetManualClassifyByClassifyId(manualEdbInfo.ClassifyId) if err != nil { br.Msg = "获取分类信息失败" br.ErrMsg = "获取分类信息失败,err:" + err.Error() return } parentClassify, err := models.GetManualClassifyByClassifyId(classify.ParentId) if err != nil { br.Msg = "获取分类信息失败" br.ErrMsg = "获取父级分类信息失败,err:" + err.Error() return } classifyList = []*models.EdbdataClassify{ parentClassify, classify, } } dataList, err := models.GetEdbDataListByCode(manualEdbInfo.TradeCode) if err != nil { br.Msg = "获取明细数据失败" br.ErrMsg = "获取明细数据失败,err:" + err.Error() return } resp := models.TargetDetailResp{ Detail: manualEdbInfo, ClassifyList: classifyList, FrequencyList: dataList, } br.Ret = 200 br.Success = true br.Msg = "获取成功" //br.Data = resp br.Data = resp }