From b63977ec7120e8d5f8e5b7d1ac9b85be76ad62a8 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期六, 21 三月 2026 15:06:05 +0800
Subject: [PATCH] feat: 更新user

---
 src/main/java/com/example/service/impl/UserServiceImpl.java |   21 +++++++++++++++++++--
 src/main/java/com/example/controller/UserController.java    |   37 ++++++++++++++++++++++++++++++++++++-
 src/main/java/com/example/service/UserService.java          |    2 ++
 3 files changed, 57 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/example/controller/UserController.java b/src/main/java/com/example/controller/UserController.java
index 328e57a..09f83a3 100644
--- a/src/main/java/com/example/controller/UserController.java
+++ b/src/main/java/com/example/controller/UserController.java
@@ -143,11 +143,46 @@
         example.setRealName("寮犱笁");
         example.setEmail("zhangsan@example.com");
         example.setPhone("13800138001");
-        example.setDeptCode("001001");
+        example.setDeptCode("1001");
         templateData.add(example);
 
         EasyExcel.write(response.getOutputStream(), UserImportExcel.class)
                 .sheet("鐢ㄦ埛瀵煎叆妯$増")
                 .doWrite(templateData);
     }
+
+    @PostMapping("/change-password")
+    public Result<Boolean> changePassword(@RequestBody ChangePasswordRequest request) {
+        Long currentUserId = UserContext.getCurrentUserId();
+        if (currentUserId == null) {
+            return Result.error("鐢ㄦ埛鏈櫥褰�");
+        }
+        boolean success = userService.changePassword(currentUserId, request.getOldPassword(), request.getNewPassword());
+        if (success) {
+            return Result.success(true);
+        } else {
+            return Result.error("鍘熷瘑鐮侀敊璇�");
+        }
+    }
+
+    static class ChangePasswordRequest {
+        private String oldPassword;
+        private String newPassword;
+
+        public String getOldPassword() {
+            return oldPassword;
+        }
+
+        public void setOldPassword(String oldPassword) {
+            this.oldPassword = oldPassword;
+        }
+
+        public String getNewPassword() {
+            return newPassword;
+        }
+
+        public void setNewPassword(String newPassword) {
+            this.newPassword = newPassword;
+        }
+    }
 }
diff --git a/src/main/java/com/example/service/UserService.java b/src/main/java/com/example/service/UserService.java
index 4ece9aa..d0b42c0 100644
--- a/src/main/java/com/example/service/UserService.java
+++ b/src/main/java/com/example/service/UserService.java
@@ -18,4 +18,6 @@
     String importUsers(MultipartFile file, List<String> permissionDeptCodes);
 
     List<User> getUsersByDeptCode(String deptCode);
+
+    boolean changePassword(Long userId, String oldPassword, String newPassword);
 }
diff --git a/src/main/java/com/example/service/impl/UserServiceImpl.java b/src/main/java/com/example/service/impl/UserServiceImpl.java
index 38d5f3d..b6e45b0 100644
--- a/src/main/java/com/example/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/example/service/impl/UserServiceImpl.java
@@ -67,8 +67,12 @@
                     user.setUsername(data.getUsername());
                     user.setRealName(data.getRealName());
                     user.setPassword(Md5Util.encrypt("123456"));
-                    user.setEmail(data.getEmail());
-                    user.setPhone(data.getPhone());
+                    if(data.getEmail() != null && !data.getEmail().isEmpty()){
+                        user.setEmail(data.getEmail());
+                    }
+                    if(data.getPhone() != null && !data.getPhone().isEmpty()){
+                        user.setPhone(data.getPhone());
+                    }
                     user.setDeptCode(data.getDeptCode());
                     user.setStatus(1);
                     userList.add(user);
@@ -97,4 +101,17 @@
     public List<User> getUsersByDeptCode(String deptCode) {
         return baseMapper.selectByDeptCode(deptCode);
     }
+
+    @Override
+    public boolean changePassword(Long userId, String oldPassword, String newPassword) {
+        User user = getById(userId);
+        if (user == null) {
+            return false;
+        }
+        if (!user.getPassword().equals(Md5Util.encrypt(oldPassword))) {
+            return false;
+        }
+        user.setPassword(Md5Util.encrypt(newPassword));
+        return updateById(user);
+    }
 }

--
Gitblit v1.9.1