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