From a5285d7dc0565bffa823ff0b26f06cafd4ae2096 Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Mon, 27 Oct 2025 17:22:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=B0=81=E9=9D=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/pageImage/savepageimagelogic.go | 27 +++++++++++++++++-- .../internal/model/pageimagemodel_gen.go | 6 +++-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/server/internal/pageimgs/internal/logic/pageImage/savepageimagelogic.go b/server/internal/pageimgs/internal/logic/pageImage/savepageimagelogic.go index 5c65769a..59c51340 100644 --- a/server/internal/pageimgs/internal/logic/pageImage/savepageimagelogic.go +++ b/server/internal/pageimgs/internal/logic/pageImage/savepageimagelogic.go @@ -5,6 +5,7 @@ package pageImage import ( "context" + "fmt" "github.com/JACKYMYPERSON/hldrCenter/config" "github.com/JACKYMYPERSON/hldrCenter/internal/pageimgs/internal/model" @@ -30,7 +31,29 @@ func NewSavePageImageLogic(ctx context.Context, cfg *config.Config, model model. } func (l *SavePageImageLogic) SavePageImage(req *types.SavePageImageReq) (resp *types.SavePageImageResp, err error) { - // todo: add your logic here and delete this line + if req.Id <= 0 { + return nil, fmt.Errorf("id 不能为空") + } - return + // 2. 根据 id 查询图片记录 + image, err := l.model.FindOne(l.ctx, req.Id) + if err != nil { + if err == model.ErrNotFound { + return nil, fmt.Errorf("未找到 id 为 %d 的图片", req.Id) + } + return nil, fmt.Errorf("查询图片失败:%v", err) + } + + // 3. 仅更新 image_url 字段(其他字段保持不变) + image.ImageUrl = req.ImageUrl + if err := l.model.Update(l.ctx, image); err != nil { + return nil, fmt.Errorf("更新图片 URL 失败:%v", err) + } + + // 4. 返回成功响应 + return &types.SavePageImageResp{ + Success: true, + Msg: "图片 URL 更新成功", + Id: image.Id, + }, nil } diff --git a/server/internal/pageimgs/internal/model/pageimagemodel_gen.go b/server/internal/pageimgs/internal/model/pageimagemodel_gen.go index 65a61f30..5d699c16 100644 --- a/server/internal/pageimgs/internal/model/pageimagemodel_gen.go +++ b/server/internal/pageimgs/internal/model/pageimagemodel_gen.go @@ -96,8 +96,10 @@ func (m *defaultPageImageModel) Insert(ctx context.Context, data *PageImage) (sq } func (m *defaultPageImageModel) Update(ctx context.Context, newData *PageImage) error { - query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, pageImageRowsWithPlaceHolder) - _, err := m.conn.ExecCtx(ctx, query, newData.Page, newData.ImageUrl, newData.Sort, newData.Id) + query := fmt.Sprintf("UPDATE %s SET `image_url` = ?, `update_time` = CURRENT_TIMESTAMP WHERE `id` = ?", m.table) + + // 仅传递 image_url 和 id 作为参数(顺序与 SQL 占位符对应) + _, err := m.conn.ExecCtx(ctx, query, newData.ImageUrl, newData.Id) return err }