From 8dfdb343364a6d8f87f8095a3fd899f6541c8be3 Mon Sep 17 00:00:00 2001
From: yyy <1083599556@qq.com>
Date: 星期五, 17 四月 2026 21:54:09 +0800
Subject: [PATCH] 1.根据权限组判断手机号是否脱敏

---
 xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpOperationsUserServiceImpl.java |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpOperationsUserServiceImpl.java b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpOperationsUserServiceImpl.java
index ad58deb..3705a1d 100644
--- a/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpOperationsUserServiceImpl.java
+++ b/xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/service/impl/XpOperationsUserServiceImpl.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xiaopeng.account.constant.I18nKeyConstant;
 import com.xiaopeng.account.mapper.SysRoleMapper;
 import com.xiaopeng.account.mapper.XpOperationsRoleMapper;
@@ -17,16 +18,15 @@
 import com.xiaopeng.account.model.dto.XpOperationsUserDTO;
 import com.xiaopeng.account.model.query.XpOperationsUserPageQuery;
 import com.xiaopeng.account.model.query.XpOperationsUserQuery;
-import com.xiaopeng.account.service.ISysRoleService;
-import com.xiaopeng.account.service.IXpOperationsRoleService;
-import com.xiaopeng.account.service.IXpOperationsUserService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xiaopeng.account.service.IXpQualificationAuditService;
+import com.xiaopeng.account.service.*;
 import com.xiaopeng.account.util.AliOssDownloadUtil;
 import com.xiaopeng.api.feignClient.maintenance.XpClockInClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetClient;
 import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetOperationsClient;
-import com.xiaopeng.api.model.account.*;
+import com.xiaopeng.api.model.account.SysRole;
+import com.xiaopeng.api.model.account.XpOperationsRole;
+import com.xiaopeng.api.model.account.XpOperationsUser;
+import com.xiaopeng.api.model.account.XpQualificationAudit;
 import com.xiaopeng.api.model.vehicleConvoy.XpFleet;
 import com.xiaopeng.api.vo.account.*;
 import com.xiaopeng.common.core.domain.R;
@@ -46,10 +46,8 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.time.LocalDateTime;
 import java.util.*;
@@ -92,19 +90,36 @@
     private AliOssService aliOssService;
     @Autowired
     private AliOssDownloadUtil aliOssDownloadUtil;
+    @Autowired
+    private  ISysGroupService sysGroupService;
+
+    @Override
+    public XpOperationsUser getById(Serializable userId){
+        XpOperationsUser user = baseMapper.selectById(userId);
+        //获取登录用户权限信息
+        user.setPhoneNumber(sysGroupService.getPhoneDesensitization(user.getPhoneNumber()));
+        return user;
+    }
 
     @Override
     public List<XpOperationsUser> listByName(String nickName) {
         if (StringUtils.isBlank(nickName)) {
             return Collections.emptyList();
         }
-        return lambdaQuery().like(XpOperationsUser::getNickName, nickName).list();
+        List<XpOperationsUser> list = lambdaQuery().like(XpOperationsUser::getNickName, nickName).list();
+        for (XpOperationsUser obj : list) {
+            obj.setPhoneNumber(sysGroupService.getPhoneDesensitization(obj.getPhoneNumber()));
+        }
+        return list;
     }
 
     @Override
     public PageInfo<XpOperationsUserWithRoleVO> selectUserPageByConditions(XpOperationsUserPageQuery query) {
         PageInfo<XpOperationsUserWithRoleVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         Page<XpOperationsUserWithRoleVO> page = baseMapper.selectUserPageByConditions(pageInfo, query);
+        for (XpOperationsUserWithRoleVO record : page.getRecords()) {
+            record.setPhoneNumber(sysGroupService.getPhoneDesensitization(record.getPhoneNumber()));
+        }
         pageInfo.setRecords(page.getRecords());
         return pageInfo;
     }
@@ -119,6 +134,7 @@
 
         XpOperationsUserProfileVO vo = new XpOperationsUserProfileVO();
         BeanUtils.copyProperties(user, vo);
+        vo.setPhoneNumber(sysGroupService.getPhoneDesensitization(vo.getPhoneNumber()));
         vo.setAvatar(aliOssDownloadUtil.getPictureJSONObject(vo.getAvatar()));
         // 2. 查询关联的车队ID列表(一个运维人员只能关联一个车队)
         R<List<Long>> fleetIdsResult = xpFleetOperationsClient.getFleetIdsByUserId(userId);
@@ -244,6 +260,7 @@
         }
 
         for (XpOperationsUserVO xpOperationsUserVO : list) {
+            xpOperationsUserVO.setPhoneNumber(sysGroupService.getPhoneDesensitization(xpOperationsUserVO.getPhoneNumber()));
             String avatar = xpOperationsUserVO.getAvatar();
             // 处理空的情况
             if (avatar == null) {

--
Gitblit v1.7.1