From 652951bd0ce1eebcae43221e50d4cfda99c10aba Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期二, 22 九月 2026 17:37:40 +0800
Subject: [PATCH] bug:修改问题

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
index 8136128..575aab3 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
@@ -145,9 +145,14 @@
         TOperator byId = operatorService.getById(id);
         // 运营商名称
         model.addAttribute(byId.getName());
-        User byId1 = userService.getById(byId.getUserId());
-        model.addAttribute("userName",byId1.getName());
-        model.addAttribute("phone",byId1.getPhone());
+        // 历史数据可能存在 t_operator.userId 未同步的情况,不能因此让编辑页手机号丢失。
+        User byId1 = byId.getUserId() == null ? null : userService.getById(byId.getUserId());
+        if (byId1 == null) {
+            byId1 = userService.getOne(new QueryWrapper<User>()
+                    .eq("objectId", id).eq("objectType", 2));
+        }
+        model.addAttribute("userName", byId1 == null ? "" : byId1.getName());
+        model.addAttribute("phone", byId1 == null ? "" : byId1.getPhone());
         model.addAttribute("data",byId);
         // 获取全部的省
         List<TOperatorCity> list = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", id).eq("pid",0));
@@ -1434,13 +1439,17 @@
     @RequestMapping(value = "/updateOperator")
     public ResultUtil updateOperator(Integer id,String name,String userName
             ,String phone,Integer type ,@RequestParam String comArr) {
-        List<User> list = userService.lambdaQuery().eq(User::getPhone, phone).ne(User::getId, id).list();
+        // id 是运营商 ID,不是 sys_user.id;按运营商 ID 排除会把当前管理员误判为手机号重复。
+        User user = userService.getOne(new QueryWrapper<User>().eq("objectId", id)
+                .eq("objectType", 2));
+        if (user == null) {
+            return ResultUtil.error("运营商关联管理员不存在");
+        }
+        List<User> list = userService.lambdaQuery().eq(User::getPhone, phone).ne(User::getId, user.getId()).list();
         if (!list.isEmpty()){
             return ResultUtil.error("当前管理员手机号已存在!");
         }
         operatorCityService.remove(new QueryWrapper<TOperatorCity>().eq("operatorId",id));
-        User user = userService.getOne(new QueryWrapper<User>().eq("objectId", id).
-                eq("objectType", 2));
         user.setName(userName);
         user.setAccount(phone);
         user.setPhone(phone);

--
Gitblit v1.7.1