From 7a201eec2a4284743386cc0c2d03eefa9e7cd1d7 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期五, 24 七月 2026 16:00:44 +0800
Subject: [PATCH] update

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysVisitorRecordServiceImpl.java |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysVisitorRecordServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysVisitorRecordServiceImpl.java
index 26dc617..3d3f1fc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysVisitorRecordServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysVisitorRecordServiceImpl.java
@@ -7,6 +7,8 @@
 import com.ruoyi.system.dto.SysVisitorRecordDeleteRequest;
 import com.ruoyi.system.dto.SysVisitorRecordDetailRequest;
 import com.ruoyi.system.dto.SysVisitorRecordPageRequest;
+import com.ruoyi.system.domain.SysVisitArea;
+import com.ruoyi.system.mapper.SysVisitAreaMapper;
 import com.ruoyi.system.mapper.SysVisitorRecordMapper;
 import com.ruoyi.system.service.ISysVisitorRecordService;
 import com.ruoyi.system.vo.SysVisitorRecordDetailVO;
@@ -33,6 +35,9 @@
 {
     @Autowired
     private SysVisitorRecordMapper visitorRecordMapper;
+
+    @Autowired
+    private SysVisitAreaMapper visitAreaMapper;
 
     @Override
     public PageInfo<SysVisitorRecordVO> pageList(SysVisitorRecordPageRequest request)
@@ -94,17 +99,44 @@
 
     private void fillDetailDisplayFields(SysVisitorRecordDetailVO detail)
     {
+        List<String> visitAreaNames = resolveVisitAreaNames(detail);
         detail.setIdCardMask(maskIdCard(detail.getIdCard()));
         detail.setRegisterTypeName(registerTypeName(detail.getRegisterType()));
         detail.setStatusName(statusName(detail.getStatus()));
         detail.setReceiverVerifyMethodName(verifyMethodName(detail.getReceiverVerifyMethod()));
         detail.setSignVerifyMethodName(verifyMethodName(detail.getSignVerifyMethod()));
-        detail.setVisitAreaNameList(splitNames(detail.getVisitAreaNames()));
+        detail.setVisitAreaNameList(visitAreaNames);
+        detail.setVisitAreaNames(String.join(",", visitAreaNames));
         detail.setValidTimeText(validTimeText(detail.getValidStartTime(), detail.getValidEndTime()));
         detail.setRegisterCollectTime(detail.getRegisterTime());
         detail.setSignCollectTime(detail.getSignTime());
     }
 
+    private List<String> resolveVisitAreaNames(SysVisitorRecordDetailVO detail)
+    {
+        List<String> names = splitNames(detail.getVisitAreaNames());
+        if (!names.isEmpty() || StringUtils.isBlank(detail.getVisitAreaIds()))
+        {
+            return names;
+        }
+        for (String areaIdText : detail.getVisitAreaIds().split(","))
+        {
+            try
+            {
+                SysVisitArea area = visitAreaMapper.selectById(Long.valueOf(StringUtils.trim(areaIdText)));
+                if (area != null && StringUtils.isNotBlank(area.getAreaName()))
+                {
+                    names.add(area.getAreaName());
+                }
+            }
+            catch (NumberFormatException ignored)
+            {
+                continue;
+            }
+        }
+        return names;
+    }
+
     private String maskIdCard(String idCard)
     {
         if (StringUtils.isBlank(idCard) || idCard.length() <= 10)

--
Gitblit v1.7.1