package excel import ( "encoding/json" "eta/eta_api/models" excelModel "eta/eta_api/models/data_manage/excel" "eta/eta_api/models/data_manage/excel/request" "eta/eta_api/models/data_manage/excel/response" "eta/eta_api/services/data/excel" "eta/eta_api/utils" "strconv" "strings" "time" ) // AddEdb // @Title 新增指标接口 // @Description 新增指标接口 // @Param request body request.AddExcelInfoReq true "type json string" // @Success 200 {object} response.AddExcelInfoResp // @router /edb/add [post] func (c *CustomAnalysisController) AddEdb() { 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 } deleteCache := true cacheKey := "CACHE_EXCEL_TABLE_INFO_ADD_" + strconv.Itoa(sysUser.AdminId) defer func() { if deleteCache { _ = utils.Rc.Delete(cacheKey) } }() if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) { deleteCache = false br.Msg = "系统处理中,请稍后重试!" br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(c.Ctx.Input.RequestBody) return } var req request.AddEdb err := json.Unmarshal(c.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } req.EdbName = strings.Trim(req.EdbName, " ") if req.EdbName == "" { br.Msg = "请填写指标名称!" br.IsSendEmail = false return } if req.ExcelInfoId <= 0 { br.Msg = "请选择excel!" br.IsSendEmail = false return } if req.ClassifyId <= 0 { br.Msg = "请选择指标分类!" br.IsSendEmail = false return } excelInfo, err := excelModel.GetExcelInfoById(req.ExcelInfoId) if err != nil { br.Msg = "找不到该EXCEL!" br.ErrMsg = "找不到该EXCEL!err:" + err.Error() return } if excelInfo.Source != utils.CUSTOM_ANALYSIS_TABLE { br.Msg = "EXCEL异常!" br.IsSendEmail = false return } excel.GetCustomAnalysisExcelData(excelInfo) //err, errMsg, isSendEmail := excel.SaveCustomAnalysisTable(excelInfo, utils.TrimLRStr(req.ExcelName), req.Content, req.ExcelImage, req.ExcelClassifyId, req.OpSheetList) //if err != nil { // br.Msg = "保存失败" // if errMsg != `` { // br.Msg = errMsg // } // br.ErrMsg = "保存失败,Err:" + err.Error() // br.IsSendEmail = isSendEmail // return //} // 更新excel下载地址(默认的EXCEL需要更新,自定义表格不需要更新) //if req.Source == 1 { // go UpdateExcelInfoFileUrl(excelInfo) //} // resp := new(response.AddExcelInfoResp) resp.ExcelInfoId = excelInfo.ExcelInfoId resp.UniqueCode = excelInfo.UniqueCode //新增操作日志 //{ // excelLog := &data_manage.ExcelInfoLog{ // //ExcelInfoLogId: 0, // ExcelInfoId: excelInfo.ExcelInfoId, // ExcelName: req.ExcelName, // ExcelClassifyId: req.ExcelClassifyId, // SysUserId: sysUser.AdminId, // SysUserRealName: sysUser.RealName, // UniqueCode: excelInfo.UniqueCode, // CreateTime: time.Now(), // Content: string(c.Ctx.Input.RequestBody), // Status: "新增表格", // Method: c.Ctx.Input.URI(), // } // go data_manage.AddExcelInfoLog(excelLog) //} br.Ret = 200 br.Success = true br.Msg = "保存成功" br.Data = resp br.IsAddLog = false //数据量太大了,不写入日志吧 } //func init() { // excelInfo, err := excelModel.GetExcelInfoById(160) // if err != nil { // fmt.Println("查找excel失败:", err) // return // } // _, err, _ = excel.GenerateExcelCustomAnalysisExcel(excelInfo) // if err != nil { // fmt.Println("生成excel失败:", err) // return // } //}