package speech_recognition import ( "encoding/json" "eta/eta_api/controllers" "eta/eta_api/models" "eta/eta_api/models/speech_recognition" "eta/eta_api/services" "fmt" "strconv" "time" ) type SpeechRecognitionController struct { controllers.BaseAuthController } type SpeechRecognitionCommonController struct { controllers.BaseCommonController } // RecTaskCallback // @Title 语音识别回调 // @Description 语音识别回调 // @Param request body services.TencentRecTaskCallback true "type json string" // @Success 200 string "操作成功" // @router /rec_task/callback [post] func (this *SpeechRecognitionCommonController) RecTaskCallback() { // 此接口返回指定响应体 br := new(services.TencentRecTaskCallbackResp) defer func() { _ = this.JSON(br, false, false) }() var req services.TencentRecTaskCallback if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Code = 403 br.Message = "参数解析失败" return } // TODO:处理回调结果 apiLog := new(speech_recognition.SpeechRecognitionApiLog) apiLog.RequestId = strconv.Itoa(int(req.RequestId)) j, _ := json.Marshal(req) apiLog.RequestResult = string(j) apiLog.CreateTime = time.Now().Local() apiLog.ModifyTime = time.Now().Local() if e := apiLog.Create(); e != nil { br.Code = 403 br.Message = "获取回调结果失败" return } br.Code = 0 br.Message = "success" } // Save // @Title 保存 // @Description 保存 // @Param request body speech_recognition.SpeechRecognitionSaveReq true "type json string" // @Success 200 string "操作成功" // @router /save [post] func (this *SpeechRecognitionCommonController) Save() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() //sysUser := this.SysUser //if sysUser == nil { // br.Msg = "请登录" // br.ErrMsg = "请登录,SysUser Is Empty" // br.Ret = 408 // return //} var req speech_recognition.SpeechRecognitionSaveReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Msg = "参数有误" br.ErrMsg = "参数解析失败, Err: " + e.Error() return } conf, e := models.GetBusinessConf() if e != nil { br.Msg = "操作失败" br.ErrMsg = "获取配置失败, Err: " + e.Error() return } var taskReq services.TencentRecTaskReq taskReq.FileUrl = req.FileName taskReq.SecretId = conf[models.BusinessConfTencentApiSecretId] taskReq.SecretKey = conf[models.BusinessConfTencentApiSecretKey] taskReq.CallbackUrl = conf[models.BusinessConfTencentApiRecTaskCallbackUrl] taskId, e := services.TencentCreateRecTask(taskReq) if e != nil { br.Msg = "操作失败" br.ErrMsg = fmt.Sprintf("TencentCreateRecTask err: %s", e.Error()) return } br.Data = taskId br.Ret = 200 br.Success = true br.Msg = "操作成功" }