Browse Source

用户信息编辑

drew 5 năm trước cách đây
mục cha
commit
70161fce2d

+ 12 - 0
src/main/java/com/izouma/jiashanxia/service/UserService.java

@@ -31,6 +31,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 
+import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -196,4 +197,15 @@ public class UserService {
         }
         return setPassword(userId, password);
     }
+
+    public void updateUserInfo(Map<String, Object> data) {
+        User user = userRepo.findById(SecurityUtils.getAuthenticatedUser().getId())
+                .orElseThrow(new BusinessException("用户不存在"));
+        try {
+            org.apache.commons.beanutils.BeanUtils.populate(user, data);
+        } catch (IllegalAccessException | InvocationTargetException e) {
+            log.error("updateUserInfo", e);
+        }
+        userRepo.save(user);
+    }
 }

+ 6 - 0
src/main/java/com/izouma/jiashanxia/web/UserController.java

@@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 
 @AllArgsConstructor
 @RestController
@@ -143,4 +144,9 @@ public class UserController extends BaseController {
         }
         throw new BusinessException("获取用户信息失败");
     }
+
+    @PostMapping("/updateUserInfo")
+    public void updateUserInfo(@RequestBody Map<String, Object> map) {
+        userService.updateUserInfo(map);
+    }
 }