From 9c2ceb01c056173ecdf175e0f611dfa046984087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Tue, 1 Jul 2025 09:43:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E5=92=8C=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E8=AF=81=E8=84=B1=E6=95=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/common/utils/StringUtils.java | 24 +++++++++++++++++++ .../controller/system/SysUserController.java | 6 ++++- .../impl/TbCompanyPerfServiceImpl.java | 4 ++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/bonus-common/src/main/java/com/bonus/common/utils/StringUtils.java b/bonus-common/src/main/java/com/bonus/common/utils/StringUtils.java index 69a40bb..5bb4fe4 100644 --- a/bonus-common/src/main/java/com/bonus/common/utils/StringUtils.java +++ b/bonus-common/src/main/java/com/bonus/common/utils/StringUtils.java @@ -754,4 +754,28 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils return -1; // 解析错误 } } + + /** + * 身份证脱敏处理 + * 保留前6位和后4位,中间用*替代 + * 示例:340826199001011234 -> 340826********1234 + */ + public static String desensitizeIdCard(String idCard) { + if (idCard == null || idCard.length() < 10) { + return idCard; + } + return idCard.replaceAll("(?<=\\d{6})\\d(?=\\d{4})", "*"); + } + + /** + * 手机号脱敏处理 + * 保留前3位和后4位,中间4位用*替代 + * 示例:13123456789 -> 131****6789 + */ + public static String desensitizePhone(String phone) { + if (phone == null || phone.length() != 11) { + return phone; + } + return phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); + } } diff --git a/search-tool/src/main/java/com/bonus/tool/controller/system/SysUserController.java b/search-tool/src/main/java/com/bonus/tool/controller/system/SysUserController.java index 60dcf70..8565c5f 100644 --- a/search-tool/src/main/java/com/bonus/tool/controller/system/SysUserController.java +++ b/search-tool/src/main/java/com/bonus/tool/controller/system/SysUserController.java @@ -34,7 +34,7 @@ import com.bonus.system.service.ISysUserService; /** * 用户信息 - * + * * @author ruoyi */ @RestController @@ -62,6 +62,10 @@ public class SysUserController extends BaseController { startPage(); List list = userService.selectUserList(user); + //手机号脱敏 + for (SysUser sysUser:list ) { + sysUser.setPhonenumber(StringUtils.desensitizePhone(sysUser.getPhonenumber())); + } return getDataTable(list); } diff --git a/search-tool/src/main/java/com/bonus/tool/service/impl/TbCompanyPerfServiceImpl.java b/search-tool/src/main/java/com/bonus/tool/service/impl/TbCompanyPerfServiceImpl.java index 67112ae..099a441 100644 --- a/search-tool/src/main/java/com/bonus/tool/service/impl/TbCompanyPerfServiceImpl.java +++ b/search-tool/src/main/java/com/bonus/tool/service/impl/TbCompanyPerfServiceImpl.java @@ -58,6 +58,10 @@ public class TbCompanyPerfServiceImpl implements TbCompanyPerfService { for (TbCompanyPerfVo tbCompanyPerf:tbCompanyPerfList) { //获取项目关键人员信息 List tbCompanyPerfRelList = tbCompanyPerfRelService.getTbCompanyPerRelByPerfId(tbCompanyPerf.getId(),"1"); + for (TbCompanyPerfRelVo tbCompanyPerfRelVo:tbCompanyPerfRelList) { + //身份证号脱敏 + tbCompanyPerfRelVo.setIdCard(StringUtils.desensitizeIdCard(tbCompanyPerfRelVo.getIdCard())); + } tbCompanyPerf.setTbCompanyPerfRelList(tbCompanyPerfRelList); //获取附件信息 List tbFileSourceVoList = tbFileSourceService.getTbFileSourceList(tbCompanyPerf.getId(), TableType.TB_COMPANY_PERF.getCode());