fix(ops): 事件监听从TransactionalEventListener改为EventListener
This commit is contained in:
@@ -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 {
|
||||
// 只处理保洁类型的工单
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user