fix(ops): 事件监听从TransactionalEventListener改为EventListener
Some checks failed
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled

This commit is contained in:
lzh
2026-01-29 19:32:43 +08:00
parent d8fd0aa389
commit ab1cc2bc62
2 changed files with 9 additions and 12 deletions

View File

@@ -13,9 +13,8 @@ import com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecord;
import com.viewsh.module.ops.infrastructure.log.recorder.EventLogRecorder;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import org.springframework.transaction.event.TransactionPhase;
import org.springframework.transaction.event.TransactionalEventListener;
/**
* 工牌设备状态事件监听器
@@ -23,7 +22,7 @@ import org.springframework.transaction.event.TransactionalEventListener;
* 职责:监听工单状态变更事件,同步更新设备状态和工单关联
* <p>
* 设计说明:
* - 使用 BEFORE_COMMIT 阶段,在事务提交前同步执行
* - 使用 @EventListener 监听事件,在事务同步执行
* - 确保 IoT 模块能实时查询到正确的设备工单信息
* - 只处理保洁类型的工单
* <p>
@@ -59,10 +58,9 @@ public class BadgeDeviceStatusEventListener {
/**
* 监听工单状态变更事件,同步更新设备工单关联
* <p>
* 使用 BEFORE_COMMIT 阶段,在事务提交前同步执行
* 确保 IoT 模块能实时查询到正确的设备工单信息
* 使用 @EventListener,在事务同步执行
*/
@TransactionalEventListener(phase = TransactionPhase.BEFORE_COMMIT)
@EventListener
public void onOrderStateChanged(OrderStateChangedEvent event) {
try {
// 只处理保洁类型的工单

View File

@@ -23,10 +23,9 @@ import com.viewsh.module.system.api.notify.NotifyMessageSendApi;
import com.viewsh.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.transaction.event.TransactionPhase;
import org.springframework.transaction.event.TransactionalEventListener;
import java.time.LocalDateTime;
import java.util.Map;
@@ -52,7 +51,7 @@ import java.util.Map;
* 设计说明:
* - assigneeId 存储的是工牌设备ID非保洁员ID
* - 使用异步处理,避免阻塞主流程
* - 使用 @TransactionalEventListener(AFTER_COMMIT) 确保事务提交后再处理
* - 使用 @EventListener 监听事件
*
* @author lzh
*/
@@ -89,7 +88,7 @@ public class CleanOrderEventListener {
/**
* 监听工单创建事件,触发自动调度
*/
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
@EventListener
public void onOrderCreated(OrderCreatedEvent event) {
if (!"CLEAN".equals(event.getOrderType())) {
return;
@@ -203,7 +202,7 @@ public class CleanOrderEventListener {
* 注意:设备状态由 BadgeDeviceStatusServiceImpl 统一管理
* 这里只处理扩展表时间记录和通知发送
*/
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
@EventListener
public void onOrderStateChanged(OrderStateChangedEvent event) {
if (!"CLEAN".equals(event.getOrderType())) {
return;
@@ -358,7 +357,7 @@ public class CleanOrderEventListener {
* <p>
* 触发自动调度下一个任务
*/
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
@EventListener
public void onOrderCompleted(OrderCompletedEvent event) {
if (!"CLEAN".equals(event.getOrderType())) {
return;