package com.crm.lead.deadline; import java.time.LocalDateTime; /** * 双计时器预算(ADR-0027):一次业务事件对回收/失效截止时刻的预计算结果。 * *

生命周期止于调用方——解构后填入 {@code TransitionCmd} 的既有散字段, * 不穿越状态机 seam(ADR-0021 的「调用方预计算」契约不变)。

* * @param recycle 回收计时 N 的截止时刻;null = 本事件不设 N * @param expire 失效计时 M 的截止时刻;null = 本事件不设 M */ public record DeadlineBudget(LocalDateTime recycle, LocalDateTime expire) { /** 全空预算:本事件两个计时器都不动 */ public static DeadlineBudget none() { return new DeadlineBudget(null, null); } }