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()); } }