package controllers import ( "encoding/json" "eta/eta_chart_lib/models" "eta/eta_chart_lib/utils" "fmt" "time" ) // TableController 表格 type TableController struct { BaseAuthController } // TableInfoDetail // @Title 获取表格详情 // @Description 获取表格详情接口 // @Param UniqueCode query string true "表格唯一编码,如果是管理后台访问,传固定字符串:7c69b590249049942070ae9dcd5bf6dc" // @Success 200 {object} data_manage.TableInfoDetailResp // @router /detail [get] func (this *TableController) TableInfoDetail() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() uniqueCode := this.GetString("UniqueCode") if uniqueCode == "" { br.Msg = "参数错误" br.ErrMsg = "参数错误,uniqueCode is empty" return } key := utils.HZ_TABLE_LIB_DETAIL + uniqueCode resp := new(models.TableInfoDetailResp) //判断是否有缓存 if utils.Re == nil { if utils.Re == nil && utils.Rc.IsExist(key) { if data, err1 := utils.Rc.RedisBytes(key); err1 == nil { err := json.Unmarshal(data, &resp) if err == nil && resp != nil { br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp fmt.Println("source redis") return } } } } tableInfo, err := models.GetTableInfoByUniqueCode(uniqueCode) if err != nil { if err.Error() == utils.ErrNoRow() { br.Msg = "该表格已被删除,请刷新页面" br.ErrMsg = "该表格已被删除,请刷新页面,Err:" + err.Error() return } br.Msg = "获取失败" br.ErrMsg = "获取表格信息失败,Err:" + err.Error() return } dataList, err := models.GetTableDataListByTableInfoId(tableInfo.TableInfoId) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取表格数据失败,Err:" + err.Error() return } resp.TableInfo = tableInfo resp.TableDataList = dataList if utils.Re == nil { data, _ := json.Marshal(resp) utils.Rc.Put(key, data, 10*time.Minute) } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp }