From e9a122fcda666c8989283a251a979e068e749762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 30 Aug 2022 10:37:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(report):=E4=BF=AE=E6=AD=A3=E5=AF=B9?= =?UTF-8?q?=E4=BA=8E=E5=9B=AD=E5=8C=BA=E7=9A=84=E6=9C=80=E6=96=B0=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E6=9C=9F=E6=95=B0=E7=9A=84=E6=A3=80=E6=B5=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/report.go | 2 +- service/report.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/controller/report.go b/controller/report.go index 2c694ac..e6b070a 100644 --- a/controller/report.go +++ b/controller/report.go @@ -90,7 +90,7 @@ func initializeNewReport(c *gin.Context) { result.NotAccept("提供的初始化期数格式不正确。") return } - valid, err := service.ReportService.IsNewPeriodValid(userSession.Uid, reportPeriod) + valid, err := service.ReportService.IsNewPeriodValid(userSession.Uid, requestParkId, reportPeriod) if err != nil { result.Error(http.StatusInternalServerError, err.Error()) return diff --git a/service/report.go b/service/report.go index dc7b3cc..87b94bd 100644 --- a/service/report.go +++ b/service/report.go @@ -55,20 +55,20 @@ func (_ReportService) FetchParksWithNewestReport(uid string) ([]model.ParkNewest return lo.Values(reducedParks), nil } -func (_ReportService) IsNewPeriodValid(uid string, period time.Time) (bool, error) { +func (_ReportService) IsNewPeriodValid(uid, pid string, period time.Time) (bool, error) { reports := make([]model.Report, 0) - if cachedReport, _ := cache.RetreiveSearch[[]model.Report]("report", "user", uid); cachedReport != nil { + if cachedReport, _ := cache.RetreiveSearch[[]model.Report]("report", "user", uid, "park", pid); cachedReport != nil { reports = *cachedReport } else { err := global.DBConn. Table("report").Alias("r"). Join("INNER", []string{"park", "p"}, "r.park_id=p.id"). - Where(builder.Eq{"p.user_id": uid}). + Where(builder.Eq{"p.user_id": uid, "r.park_id": pid}). Find(&reports) if err != nil { return false, nil } - cache.CacheSearch(reports, []string{"report", "park"}, "park", "user", uid) + cache.CacheSearch(reports, []string{"report", "park"}, "park", "user", uid, "park", pid) } // 检查给定的期数在目前的记录中是否已经存在 exists := lo.Reduce(