|
|
@@ -18,6 +18,7 @@ import org.springframework.context.event.EventListener;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.concurrent.DelayQueue;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
@@ -153,6 +154,10 @@ public class StartChargeDelayJob implements DelayService<DelayChargeOrder> {
|
|
|
|
|
|
@Override
|
|
|
public boolean addToDelayQueue(DelayChargeOrder delayChargeOrder) {
|
|
|
+ // 如果预约开始时间小于等于当前时间,则将预约开始时间延后10S
|
|
|
+ if (delayChargeOrder.getStartTime().isBefore(LocalDateTime.now())) {
|
|
|
+ delayChargeOrder.setStartTime(delayChargeOrder.getStartTime().plusSeconds(10));
|
|
|
+ }
|
|
|
DelayedItem<DelayChargeOrder> orderDelayed = new DelayedItem<>(delayChargeOrder, delayChargeOrder.getStartTime());
|
|
|
return START_DELAY_QUEUE.add(orderDelayed);
|
|
|
}
|