From cd0ae25ec15d8c4a755b3fe62a61bf33fee78f6e Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Wed, 9 Jul 2025 23:20:10 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E6=A1=A3=E5=8F=A3=E9=94=80?= =?UTF-8?q?=E5=94=AE=E5=87=BA=E5=BA=93=E4=B8=8B=E8=BD=BD=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=AE=8C=E5=96=84=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/vo/storeSale/StoreSaleExportVO.java | 3 +++ .../ruoyi/xkt/dto/storeSale/StoreSaleExportDTO.java | 1 + .../ruoyi/xkt/service/impl/StoreSaleServiceImpl.java | 11 +++++++++++ 3 files changed, 15 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleExportVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleExportVO.java index 588fbd3f4..cdca8a98a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleExportVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleExportVO.java @@ -1,5 +1,6 @@ package com.ruoyi.web.controller.xkt.vo.storeSale; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -25,7 +26,9 @@ public class StoreSaleExportVO { @ApiModelProperty(value = "storeSaleIdList") private List storeSaleIdList; @ApiModelProperty(value = "导出开始时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date voucherDateStart; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @ApiModelProperty(value = "导出结束时间") private Date voucherDateEnd; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleExportDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleExportDTO.java index 26c564fa7..d76449da3 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleExportDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleExportDTO.java @@ -1,5 +1,6 @@ package com.ruoyi.xkt.dto.storeSale; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java index 11b8abde4..a5c617c6c 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java @@ -33,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.Period; import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -218,6 +219,16 @@ public class StoreSaleServiceImpl implements IStoreSaleService { if (ObjectUtils.isEmpty(exportDTO.getVoucherDateStart()) && ObjectUtils.isEmpty(exportDTO.getVoucherDateEnd())) { throw new ServiceException("全量导出时,开始时间和结束时间不能为空!", HttpStatus.ERROR); } + // 开始时间和结束时间,相间隔不能超过6个月 + LocalDate start = exportDTO.getVoucherDateStart().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + LocalDate end = exportDTO.getVoucherDateEnd().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + // 计算两个日期之间的年、月、日差值 + Period period = Period.between(start, end); + // 如果总月数超过6个月,则返回 true + int totalMonths = period.getYears() * 12 + period.getMonths(); + if (Math.abs(totalMonths) > 6) { + throw new ServiceException("导出时间间隔不能超过6个月!", HttpStatus.ERROR); + } return this.storeSaleMapper.selectExportListVoucherDateBetween(exportDTO.getVoucherDateStart(), exportDTO.getVoucherDateEnd()); } }