diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java index a9d71f507..01689ceb0 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java @@ -72,7 +72,7 @@ public class ProductDelayServiceImpl implements ProductDelayService { /** * 查询是否有前序的延期记录: * 1、如果有记录,延期有效期在其记录上叠加 - * 2、如果没有记录,取购买记录的结束时间作为延期的开始时间 + * 2、如果没有记录,取购买记录的结束时间作为延期的开始时间,如果结束时间已经过期了,那么从今天开始算 */ ProductDelayRecordDO lastDelayRecordDO = productDelayRecordMapper.selectOne(new LambdaQueryWrapper() .eq(ProductDelayRecordDO::getOrganId, organId) @@ -82,10 +82,14 @@ public class ProductDelayServiceImpl implements ProductDelayService { Integer delayDuration = productDelaySaveReqVO.getDelayDuration(); Integer delayDurationUnit = productDelaySaveReqVO.getDelayDurationUnit(); LocalDate endTime; + LocalDate now = LocalDate.now(); if(ObjectUtil.isNotNull(lastDelayRecordDO)) { endTime = lastDelayRecordDO.getDelayTime(); } else { endTime = purchaseRecordDO.getEndTime(); + if (endTime.isBefore(now)) { + endTime = now; + } } // 计算延期后有效时间