From 4d15e6b553c448e2e07527e9c06aa4b5f9b099cf Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 11 九月 2026 16:51:18 +0800
Subject: [PATCH] update

---
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/service/SysVisitorRecordService.java |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/service/SysVisitorRecordService.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/service/SysVisitorRecordService.java
index 78e2645..92a118d 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/service/SysVisitorRecordService.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/service/SysVisitorRecordService.java
@@ -29,6 +29,9 @@
     @Autowired
     private DahuaVisitorAccessService dahuaVisitorAccessService;
 
+    @Autowired
+    private VisitorRegisterSyncService visitorRegisterSyncService;
+
     private static final String REDIS_KEY_PREFIX = "visitor:expire:";
 
     /**
@@ -136,6 +139,7 @@
         record.setRemark("逾期滞留,等待确认");
         record.setUpdateTime(now);
         this.updateById(record);
+        syncMiddlePlatformStatus(record);
     }
 
     /**
@@ -143,6 +147,13 @@
      */
     public void revokeAccess(SysVisitorRecord record) {
         dahuaVisitorAccessService.revoke(record);
+    }
+
+    /**
+     * 同步访客状态到事件中心;失败不回滚本地签离结果。
+     */
+    public void syncMiddlePlatformStatus(SysVisitorRecord record) {
+        visitorRegisterSyncService.syncVisitorStatus(record);
     }
 
     private void registerGrantRollbackCompensation(SysVisitorRecord record,
@@ -189,6 +200,8 @@
             redisTemplate.delete(REDIS_KEY_PREFIX + record.getRecordId());
         }
 
+        syncMiddlePlatformStatus(record);
+
         return true;
     }
 
@@ -221,6 +234,7 @@
                 record.setRemark("系统自动签离(启动时检查)");
                 record.setUpdateTime(now);
                 this.updateById(record);
+                syncMiddlePlatformStatus(record);
 
                 // 删除 Redis Key
                 redisTemplate.delete(REDIS_KEY_PREFIX + record.getRecordId());

--
Gitblit v1.7.1