From 07391268a9e25405a41ee9a882d562118f093c6e Mon Sep 17 00:00:00 2001 From: Havoc412 <2993167370@qq.com> Date: Fri, 15 Nov 2024 22:53:19 +0800 Subject: [PATCH] =?UTF-8?q?refactor(doc):=20=E9=87=8D=E6=9E=84=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E4=B8=8A=E4=BC=A0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将文档上传分为两个阶段:插入数据库记录和调用 Python API - 修改了 Doc 模型的 InsertDocumentData 方法,返回插入记录的 ID 和状态 - 在控制器中处理了插入数据库失败的情况 - 保留了 TODO 注释,以便后续继续开发 --- app/http/controller/web/doc_controller.go | 22 +++++++++++++--------- app/model/doc.go | 6 +++--- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/app/http/controller/web/doc_controller.go b/app/http/controller/web/doc_controller.go index 4d8eb05..a3af29c 100644 --- a/app/http/controller/web/doc_controller.go +++ b/app/http/controller/web/doc_controller.go @@ -14,15 +14,19 @@ type Docs struct { } func (d *Docs) Upload(context *gin.Context) { - // TODO 1. 读取源文件,调用 py API 分块上传。 - path := context.GetString(consts.ValidatorPrefix + "path") - filePath := filepath.Join(variable.ConfigYml.GetString("FileUploadSetting.UploadFileSavePath"), variable.ConfigYml.GetString("FileUploadSetting.DocsRootPath"), path) - _ = filePath - - // STAGE 2. - if ok := model.CreateDocFactory("").InsertDocumentData(context); ok { - response.Success(context, consts.CurdStatusOkMsg, "") - } else { + // STAGE 1. 插入 MySQL 记录。 + var doc_id int64 + ok := false + if doc_id, ok = model.CreateDocFactory("").InsertDocumentData(context); !ok { response.Fail(context, consts.CurdCreatFailCode, consts.CurdCreatFailMsg, "上传文档错误") } + + // STAGE 2. 调用 python API + path := context.GetString(consts.ValidatorPrefix + "path") + filePath := filepath.Join(variable.ConfigYml.GetString("FileUploadSetting.UploadFileSavePath"), variable.ConfigYml.GetString("FileUploadSetting.DocsRootPath"), path) + + // TODO + _ = filePath + _ = doc_id + response.Success(context, consts.CurdStatusOkMsg, "") } diff --git a/app/model/doc.go b/app/model/doc.go index 871b274..7e6d679 100644 --- a/app/model/doc.go +++ b/app/model/doc.go @@ -22,16 +22,16 @@ type Doc struct { func (d *Doc) TableName() string { return "docs" } -func (d *Doc) InsertDocumentData(c *gin.Context) bool { +func (d *Doc) InsertDocumentData(c *gin.Context) (int64, bool) { var tmp Doc if err := data_bind.ShouldBindFormDataToModel(c, &tmp); err == nil { if res := d.Create(&tmp); res.Error == nil { - return true + return tmp.Id, true } else { variable.ZapLog.Error("Doc 数据新增出错", zap.Error(res.Error)) } } else { variable.ZapLog.Error("Doc 数据绑定出错", zap.Error(err)) } - return false + return 0, false }