首次创建延期记录时如果已过期从当前日期开始计算延期修复

This commit is contained in:
gaoqr
2025-10-16 09:04:22 +08:00
parent 803836b615
commit e4f92ad848
@@ -72,7 +72,7 @@ public class ProductDelayServiceImpl implements ProductDelayService {
/**
* 查询是否有前序的延期记录:
* 1、如果有记录,延期有效期在其记录上叠加
* 2、如果没有记录,取购买记录的结束时间作为延期的开始时间
* 2、如果没有记录,取购买记录的结束时间作为延期的开始时间,如果结束时间已经过期了,那么从今天开始算
*/
ProductDelayRecordDO lastDelayRecordDO = productDelayRecordMapper.selectOne(new LambdaQueryWrapper<ProductDelayRecordDO>()
.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;
}
}
// 计算延期后有效时间