From d887e78813015e8d40972b5e6016983e7caa37ff Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期二, 03 十一月 2026 18:43:52 +0800
Subject: [PATCH] fix(hrm): 修复修改员工手机号报 500 - 隔离软删除历史数据占用的唯一索引

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/employee/HrmEmployeeMapper.java |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/employee/HrmEmployeeMapper.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/employee/HrmEmployeeMapper.java
index 5b57a75..21ba81c 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/employee/HrmEmployeeMapper.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/employee/HrmEmployeeMapper.java
@@ -7,6 +7,8 @@
 import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeePageReqVO;
 import cn.iocoder.yudao.module.hrm.dal.dataobject.employee.HrmEmployeeDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.Collection;
 import java.util.List;
@@ -23,6 +25,17 @@
         return selectOne(HrmEmployeeDO::getPhone, phone);
     }
 
+    /**
+     * 鎸夋墜鏈哄彿鏌ヨ鍛樺伐锛�<b>鍖呭惈宸茶蒋鍒犻櫎鐨勮褰�</b>
+     *
+     * <p>鐢ㄤ簬閲婃斁銆岃蒋鍒犻櫎浣嗕粛鍗犵敤鍞竴绱㈠紩銆嶇殑鍘嗗彶鎵嬫満鍙凤細
+     * hrm_employee.uk_phone 寤哄湪 phone 鍒椾笂锛堜笉鍚� deleted锛夛紝
+     * 鑰� {@link #selectByPhone(String)} 浼氳閫昏緫鍒犻櫎鎻掍欢杩囨护鎺� deleted=1 鐨勮锛�
+     * 瀵艰嚧棰勬牎楠屾煡涓嶅埌銆佸啓搴撴椂鍗存挒鍞竴绱㈠紩锛屾渶缁堟姏 DuplicateKeyException 鍙樻垚 500銆�</p>
+     */
+    @Select("SELECT * FROM hrm_employee WHERE phone = #{phone} LIMIT 1")
+    HrmEmployeeDO selectByPhoneIncludeDeleted(@Param("phone") String phone);
+
     default HrmEmployeeDO selectByName(String name) {
         return selectOne(HrmEmployeeDO::getName, name);
     }

--
Gitblit v1.9.3