From 17ce55a3b038ed61d332bb54916de4fa55ba19c6 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 27 十月 2026 09:10:23 +0800
Subject: [PATCH] fix: 修复导出表头缺失、权限码不一致及生产链路断点
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
index 11de820..0e6ffcc 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
@@ -28,6 +28,7 @@
import cn.iocoder.yudao.module.hrm.dal.mysql.employee.HrmEmployeeMapper;
import cn.iocoder.yudao.module.hrm.dal.mysql.employee.HrmEmployeeWorkHistoryMapper;
import cn.iocoder.yudao.module.hrm.dal.redis.HrmNoRedisDAO;
+import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
import cn.iocoder.yudao.module.system.api.dept.PostApi;
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
@@ -87,6 +88,13 @@
@Resource
private MesCalTeamApi mesCalTeamApi;
@Resource
+ private ConfigApi configApi;
+
+ /**
+ * 鐢ㄦ埛鍒濆瀵嗙爜鐨勭郴缁熷弬鏁伴厤缃」
+ */
+ private static final String USER_INIT_PASSWORD_KEY = "system.user.init-password";
+ @Resource
@Lazy // 鑷敞鍏ラ渶寤惰繜鍔犺浇锛屽惁鍒� bean 琚唬鐞嗗寘瑁呭悗娉ㄥ叆鍘熷鐗堟湰瀵艰嚧鍚姩澶辫触
private HrmEmployeeService self;
@@ -108,7 +116,8 @@
userCreateReqDTO.setDeptId(createReqVO.getDeptId());
userCreateReqDTO.setPostIds(Collections.singleton(createReqVO.getPostId()));
userCreateReqDTO.setMobile(createReqVO.getPhone());
- userCreateReqDTO.setPassword(createReqVO.getPhone());
+ // 鍒濆瀵嗙爜锛氫紭鍏堢敤瀵煎叆/鏂板鏃舵寚瀹氱殑瀵嗙爜锛屽惁鍒欒鍙栫郴缁熷弬鏁帮紱涓よ�呴兘娌℃湁鍒欐姤閿�
+ userCreateReqDTO.setPassword(resolveInitialPassword(createReqVO.getPassword()));
userCreateReqDTO.setSex(createReqVO.getGender());
userCreateReqDTO.setEmail(createReqVO.getEmail());
userCreateReqDTO.setRemark(createReqVO.getRemark());
@@ -186,6 +195,11 @@
}
employeeMapper.updateById(updateObj);
Long employeeId = updateReqVO.getId();
+
+ // 鍚屾绯荤粺鐢ㄦ埛瀵嗙爜锛氫粎褰撴樉寮忓~鍐欎簡瀵嗙爜鏃舵墠鏇存柊锛屾湭濉啓淇濇寔鍘熷瘑鐮佷笉鍙�
+ if (StrUtil.isNotBlank(updateReqVO.getPassword()) && employee.getUserId() != null) {
+ adminUserApi.updateUserPassword(employee.getUserId(), updateReqVO.getPassword());
+ }
// 鍚屾鏁欒偛缁忓巻
syncEducationList(employeeId, updateReqVO.getEducations());
@@ -413,6 +427,23 @@
return respVO;
}
+ /**
+ * 瑙f瀽鍛樺伐鍒濆瀵嗙爜锛�
+ * 1. 瀵煎叆/鏂板鏃舵樉寮忔寚瀹氫簡瀵嗙爜锛屼紭鍏堜娇鐢紱
+ * 2. 鏈寚瀹氬垯璇诲彇绯荤粺鍙傛暟 {@code system.user.init-password}锛�
+ * 3. 涓よ�呴兘娌℃湁鏃舵槑纭姤閿欙紝閬垮厤鎮勬倓鐢ㄦ墜鏈哄彿绛夊急鍙d护鍏滃簳銆�
+ */
+ private String resolveInitialPassword(String specifiedPassword) {
+ if (StrUtil.isNotBlank(specifiedPassword)) {
+ return specifiedPassword;
+ }
+ String initPassword = configApi.getConfigValueByKey(USER_INIT_PASSWORD_KEY);
+ if (StrUtil.isBlank(initPassword)) {
+ throw exception(EMPLOYEE_INIT_PASSWORD_NOT_CONFIGURED);
+ }
+ return initPassword;
+ }
+
private HrmEmployeeSaveReqVO buildImportSaveReqVO(HrmEmployeeImportExcelVO importEmployee,
Long deptId, Long postId, Set<Long> roleIds) {
if (StrUtil.isBlank(importEmployee.getName())) {
@@ -428,6 +459,7 @@
reqVO.setName(importEmployee.getName());
reqVO.setGender(importEmployee.getGender() != null ? importEmployee.getGender() : 1); // 榛樿鐢�
reqVO.setPhone(importEmployee.getPhone());
+ reqVO.setPassword(importEmployee.getPassword());
reqVO.setDeptId(deptId);
reqVO.setPostId(postId);
reqVO.setRoleIds(CollUtil.isEmpty(roleIds) ? null : new ArrayList<>(roleIds));
--
Gitblit v1.9.3