From ee9f387a56ca3fd620c56a91c1860201a98f0ca0 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期二, 22 九月 2026 09:23:26 +0800
Subject: [PATCH] bug:查看敏感信息、员工&门店管理修改问题

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 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 9b6da05..8082caa 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
@@ -336,6 +336,8 @@
         User byId1 = userMapper.selectById(byId.getStoreStaffId());
         model.addAttribute("city",byId1);
         model.addAttribute("managerName", byId1 == null ? "" : byId1.getName());
+        // 历史门店的手机号可能只保存在店长账号中,编辑页需与列表保持一致地回填可用手机号。
+        model.addAttribute("managerPhone", resolveStoreManagerPhone(byId, byId1));
         model.addAttribute("type",1);
         // 如果当前登陆人是运营商
         if (UserExt.getUser().getObjectType()==2){
@@ -418,6 +420,7 @@
         User byId1 = userMapper.selectById(byId.getStoreStaffId());
         model.addAttribute("city",byId1);
         model.addAttribute("managerName", byId1 == null ? "" : byId1.getName());
+        model.addAttribute("managerPhone", resolveStoreManagerPhone(byId, byId1));
         model.addAttribute("type",0);
 
         return PREFIX + "TShop_edit.html";
@@ -698,10 +701,17 @@
                         }
                     }
                 }else {
-                    TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, tStore.getProvinceCode()));
+                    // 编辑页提交的是行政区划编码;按 id 查询会导致查不到省、市,随后访问名称时抛出 NPE。
+                    TCity one = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getProvinceCode()));
+                    if (one == null) {
+                        return ERROR;
+                    }
                     tStore.setProvince(one.getName());
                     tStore.setProvinceCode(one.getCode());
-                    TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getId, tStore.getCityCode()));
+                    TCity one1 = cityService.getOne(new LambdaQueryWrapper<TCity>().eq(TCity::getCode, tStore.getCityCode()));
+                    if (one1 == null) {
+                        return ERROR;
+                    }
                     tStore.setCity(one1.getName());
                     tStore.setCityCode(one1.getCode());
                 }
@@ -761,6 +771,13 @@
         user.setCreatetime(new Date());
         return user;
     }
+
+    private String resolveStoreManagerPhone(TStore store, User storeManager) {
+        if (ToolUtil.isNotEmpty(store.getPhone())) {
+            return store.getPhone();
+        }
+        return storeManager == null ? "" : storeManager.getPhone();
+    }
     @RequestMapping(value = "/onChange")
     @ResponseBody
     public Object onChange(Integer oneId) {

--
Gitblit v1.7.1