From ee814f0380ac0a2e5026150340f6297e3a90ff9c Mon Sep 17 00:00:00 2001 From: hxuanyu <2252193204@qq.com> Date: Sat, 31 Jan 2026 00:09:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=8D=87=E6=97=A5=E5=BF=97=E7=BA=A7?= =?UTF-8?q?=E5=88=AB=E5=B9=B6=E5=A2=9E=E5=8A=A0=E8=AF=A6=E7=BB=86=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BC=98=E5=8C=96=20Bing?= =?UTF-8?q?=20API=20=E8=B0=83=E7=94=A8=E4=B8=8E=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E5=8F=AF=E8=A7=81=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/service/fetcher/fetcher.go | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/internal/service/fetcher/fetcher.go b/internal/service/fetcher/fetcher.go index b95aafe..9e5cc7c 100644 --- a/internal/service/fetcher/fetcher.go +++ b/internal/service/fetcher/fetcher.go @@ -94,7 +94,7 @@ func (f *Fetcher) FetchRegion(ctx context.Context, mkt string) error { func (f *Fetcher) fetchByMkt(ctx context.Context, mkt string, idx int, n int) error { url := fmt.Sprintf("%s?format=js&idx=%d&n=%d&uhd=1&mkt=%s", config.BingAPIBase, idx, n, mkt) - util.Logger.Debug("Requesting Bing API", zap.String("url", url)) + util.Logger.Info("Requesting Bing API", zap.String("url", url)) resp, err := f.httpClient.Get(url) if err != nil { util.Logger.Error("Failed to request Bing API", zap.Error(err)) @@ -102,6 +102,8 @@ func (f *Fetcher) fetchByMkt(ctx context.Context, mkt string, idx int, n int) er } defer resp.Body.Close() + util.Logger.Info("Received response from Bing API", zap.String("mkt", mkt), zap.Int("status", resp.StatusCode)) + var bingResp BingResponse if err := json.NewDecoder(resp.Body).Decode(&bingResp); err != nil { util.Logger.Error("Failed to decode Bing API response", zap.Error(err)) @@ -111,6 +113,12 @@ func (f *Fetcher) fetchByMkt(ctx context.Context, mkt string, idx int, n int) er util.Logger.Info("Fetched images from Bing", zap.String("mkt", mkt), zap.Int("count", len(bingResp.Images))) for _, bingImg := range bingResp.Images { + util.Logger.Info("Bing image metadata", + zap.String("mkt", mkt), + zap.String("date", bingImg.Enddate), + zap.String("title", bingImg.Title), + zap.String("hsh", bingImg.HSH)) + if err := f.processImage(ctx, bingImg, mkt); err != nil { util.Logger.Error("Failed to process image", zap.String("date", bingImg.Enddate), zap.String("mkt", mkt), zap.Error(err)) } @@ -125,7 +133,7 @@ func (f *Fetcher) processImage(ctx context.Context, bingImg BingImage, mkt strin // 1. 地区关联幂等检查 var existingRegion model.ImageRegion if err := repo.DB.Where("date = ? AND mkt = ?", dateStr, mkt).First(&existingRegion).Error; err == nil { - util.Logger.Debug("ImageRegion record already exists, skipping", zap.String("date", dateStr), zap.String("mkt", mkt)) + util.Logger.Info("ImageRegion record already exists, skipping", zap.String("date", dateStr), zap.String("mkt", mkt), zap.String("title", bingImg.Title)) return nil } @@ -222,6 +230,11 @@ func (f *Fetcher) processImage(ctx context.Context, bingImg BingImage, mkt strin return err } + util.Logger.Info("Successfully saved/updated ImageRegion record to database", + zap.String("date", dateStr), + zap.String("mkt", mkt), + zap.String("title", regionRecord.Title)) + // 4. 保存今日额外文件 today := time.Now().Format("2006-01-02") if dateStr == today && config.GetConfig().Feature.WriteDailyFiles { @@ -320,10 +333,20 @@ func (f *Fetcher) saveVariant(ctx context.Context, imageName, variant, format st Size: size, } - return repo.DB.Clauses(clause.OnConflict{ + err := repo.DB.Clauses(clause.OnConflict{ Columns: []clause.Column{{Name: "image_name"}, {Name: "variant"}, {Name: "format"}}, DoNothing: true, }).Create(&vRecord).Error + if err != nil { + return err + } + + util.Logger.Info("Successfully saved ImageVariant record to database", + zap.String("image_name", imageName), + zap.String("variant", variant), + zap.String("format", format)) + + return nil } func (f *Fetcher) saveDailyFiles(srcImg image.Image, originalData []byte, mkt string) {