|
|
@@ -0,0 +1,54 @@
|
|
|
+package org.linlinjava.litemall.admin.web;
|
|
|
+
|
|
|
+import org.apache.commons.logging.Log;
|
|
|
+import org.apache.commons.logging.LogFactory;
|
|
|
+import org.linlinjava.litemall.admin.annotation.LoginAdmin;
|
|
|
+import org.linlinjava.litemall.core.util.JacksonUtil;
|
|
|
+import org.linlinjava.litemall.core.util.ResponseUtil;
|
|
|
+import org.linlinjava.litemall.core.util.bcrypt.BCryptPasswordEncoder;
|
|
|
+import org.linlinjava.litemall.db.domain.LitemallAdmin;
|
|
|
+import org.linlinjava.litemall.db.service.LitemallAdminService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("/admin/profile")
|
|
|
+@Validated
|
|
|
+public class AdminProfileController {
|
|
|
+ private final Log logger = LogFactory.getLog(AdminProfileController.class);
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private LitemallAdminService adminService;
|
|
|
+
|
|
|
+ @PostMapping("/password")
|
|
|
+ public Object create(@LoginAdmin Integer adminId, @RequestBody String body){
|
|
|
+ if(adminId == null){
|
|
|
+ return ResponseUtil.unlogin();
|
|
|
+ }
|
|
|
+
|
|
|
+ String oldPassword = JacksonUtil.parseString(body, "oldPassword");
|
|
|
+ String newPassword = JacksonUtil.parseString(body, "newPassword");
|
|
|
+ if(StringUtils.isEmpty(oldPassword)){
|
|
|
+ return ResponseUtil.badArgument();
|
|
|
+ }
|
|
|
+ if(StringUtils.isEmpty(newPassword)){
|
|
|
+ return ResponseUtil.badArgument();
|
|
|
+ }
|
|
|
+
|
|
|
+ LitemallAdmin admin = adminService.findAdmin(adminId);
|
|
|
+
|
|
|
+ BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
|
|
|
+ if(!encoder.matches(oldPassword, admin.getPassword())){
|
|
|
+ return ResponseUtil.fail(405, "账号密码不对");
|
|
|
+ }
|
|
|
+
|
|
|
+ String encodedNewPassword = encoder.encode(newPassword);
|
|
|
+ admin.setPassword(encodedNewPassword);
|
|
|
+
|
|
|
+ adminService.updateById(admin);
|
|
|
+ return ResponseUtil.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|