From 227499d5419ad1d78632cd62f35d7759d44c3dbb Mon Sep 17 00:00:00 2001 From: han0 Date: Thu, 11 Jul 2024 10:50:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=B6=8B=E5=8A=BF?= =?UTF-8?q?=E8=A1=A8=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/controller/PriceResultController.java | 2 +- .../xinke/main/service/PriceResultService.java | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/mjkf/xinke/main/controller/PriceResultController.java b/src/main/java/mjkf/xinke/main/controller/PriceResultController.java index 9376baf..294821e 100644 --- a/src/main/java/mjkf/xinke/main/controller/PriceResultController.java +++ b/src/main/java/mjkf/xinke/main/controller/PriceResultController.java @@ -97,7 +97,7 @@ public class PriceResultController { throw new NcHttpException(HttpErrorResponseEnum.PRICE_RESULT_NOT_FOUND); } var query = priceResultService.getQueryByName(data.getName()); - query = priceResultService.queryLastYear(query); + query = priceResultService.queryLastYear(query, data); var result = priceResultService.list(query); return FuHttpResponse.Builder().dataResponse(result).build(); diff --git a/src/main/java/mjkf/xinke/main/service/PriceResultService.java b/src/main/java/mjkf/xinke/main/service/PriceResultService.java index 2fbdd32..f5d4b48 100644 --- a/src/main/java/mjkf/xinke/main/service/PriceResultService.java +++ b/src/main/java/mjkf/xinke/main/service/PriceResultService.java @@ -1,9 +1,9 @@ package mjkf.xinke.main.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import mjkf.xinke.main.model.db.PriceResult; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import mjkf.xinke.main.model.db.PriceResult; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -32,8 +32,22 @@ public class PriceResultService extends ServiceImpl, Pri return this.getQuery(null, null, null, name); } + public LambdaQueryWrapper queryLastYear (LambdaQueryWrapper query, PriceResult data) { + var endDate = LocalDate.of(data.getYear(), data.getMonth(), 1); + var startDate = endDate.minusYears(1); + // 过去一年 + query.and(e -> e + .eq(PriceResult::getYear, startDate.getYear()) + .between(PriceResult::getMonth, startDate.getMonth(), 12).or() + .eq(PriceResult::getYear, endDate.getYear()) + .between(PriceResult::getMonth, 1, endDate.getMonth()) + ); + query.orderByAsc(PriceResult::getYear, PriceResult::getMonth); + return query; + } + public LambdaQueryWrapper queryLastYear (LambdaQueryWrapper query) { - var endDate = LocalDate.now(); + var endDate = LocalDate.now().minusMonths(1); var startDate = endDate.minusYears(1); // 过去一年 query.and(e -> e