From 9a6551aebd6b523439beda5c642371998c5289f6 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期三, 30 九月 2026 09:57:53 +0800
Subject: [PATCH] 门店手机号展示问题

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
index 67d5522..3eeddb7 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -491,9 +491,25 @@
             // 不能用 roleid(菜单权限)判断,避免员工被授予角色 1 后被误当成运营商。
             list = storeService.listAll(page, provinceCode, cityCode, name, phone, shopName, null);
         }
+        normalizePhoneFields(list);
         page.setRecords(list);
         return  super.packForBT(page);
     }
+
+    /**
+     * 统一将列表 DTO 的底层字段写回非 null 值。
+     *
+     * 部分运行环境使用字段序列化而非 JavaBean getter 序列化;仅在 getter 中做兜底时,
+     * 此类环境仍可能把原始 null 输出为 JSON null。这里在返回前固化字段值,保证三个
+     * 数据范围的列表接口均稳定返回 phone、userPhone 两个字符串字段。
+     */
+    private void normalizePhoneFields(List<TStoreListVo> stores) {
+        for (TStoreListVo store : stores) {
+            store.setPhone(store.getPhone());
+            store.setUserPhone(store.getUserPhone());
+        }
+    }
+
     @RequestMapping(value = "/listOne")
     @ResponseBody
     public Object listOne(Integer id) {

--
Gitblit v1.7.1