|
|
@@ -14,6 +14,7 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
|
|
import org.springframework.context.annotation.Scope;
|
|
|
import org.springframework.context.event.ContextRefreshedEvent;
|
|
|
import org.springframework.context.event.EventListener;
|
|
|
+import org.springframework.core.annotation.Order;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.util.concurrent.DelayQueue;
|
|
|
@@ -50,8 +51,9 @@ public class StopChargeDelayJob implements DelayService<DelayChargeOrder> {
|
|
|
|
|
|
@DS("db-miniapp")
|
|
|
// 这里不能使用@PostConstruct,在初始化完成后, bean 进入增强阶段, 所以这个阶段的任何AOP都是无效的,https://www.cnblogs.com/eternityz/p/15330069.html
|
|
|
- @EventListener
|
|
|
- public void init(ContextRefreshedEvent event) {
|
|
|
+ @EventListener(classes = {ContextRefreshedEvent.class},id="StopChargeDelayJob")
|
|
|
+ public void init() {
|
|
|
+ log.info("StopChargeDelayJob init>>>>>>>");
|
|
|
// 队列加载所有充电状态为预约中且有结束时间的订单,按照开始时间排序
|
|
|
var orderList = chargeOrderService.lambdaQuery()
|
|
|
.eq(ChargeOrder::getChargeStatus, ChargeOrder.CHARGE_STATUS_预约中)
|
|
|
@@ -78,7 +80,7 @@ public class StopChargeDelayJob implements DelayService<DelayChargeOrder> {
|
|
|
while (true) {
|
|
|
executor.execute(() -> {
|
|
|
ThreadLocal<String> threadLocal = ThreadLocal.withInitial(() -> null); // 初始化为空值,避免使用new ThreadLocal()
|
|
|
- log.info("预约充电订单处理线程:{}", Thread.currentThread().getName());
|
|
|
+ log.info("预约停止充电订单处理线程:{}", Thread.currentThread().getName());
|
|
|
DelayedItem<DelayChargeOrder> delayedItem;
|
|
|
|
|
|
try {
|