Kaynağa Gözat

完成 重置密码

魏熙美 6 yıl önce
ebeveyn
işleme
66be89236e

+ 30
- 0
src/main/java/com.huiju.welcome/controller/SysUserController.java Dosyayı Görüntüle

@@ -202,6 +202,7 @@ public class SysUserController extends BaseController {
202 202
     public ResponseBean create(@RequestBody SysUser sysUser, HttpServletRequest request) {
203 203
         ResponseBean responseBean = new ResponseBean();
204 204
 
205
+        sysUser.setLoginname(sysUser.getPhone());
205 206
         sysUser.setCreateDate(LocalDateTime.now());
206 207
         boolean success = sysUserService.save(sysUser);
207 208
 
@@ -238,6 +239,7 @@ public class SysUserController extends BaseController {
238 239
 
239 240
         Integer userId = (Integer) session.getAttribute("token-id");
240 241
         SysUser currentUser = sysUserService.getById(userId);
242
+        currentUser.setLoginname(currentUser.getPhone());
241 243
         oldPwd = Encrypt.md5(oldPwd);
242 244
         // 密码校验
243 245
         if (!checkPassword(oldPwd, currentUser)) {
@@ -259,6 +261,34 @@ public class SysUserController extends BaseController {
259 261
         return responseBean;
260 262
     }
261 263
 
264
+    @ApiOperation(value = "重置密码", notes = "重置密码")
265
+    @ApiImplicitParams({
266
+            @ApiImplicitParam(paramType = "path", dataType = "String", name = "userId", value = "用户id")
267
+    })
268
+    @RequestMapping(value = "/restPwd", method = RequestMethod.PUT)
269
+    public ResponseBean updatePwd(@RequestParam String userId, HttpSession session) {
270
+        ResponseBean responseBean = new ResponseBean();
271
+        if (StringUtils.isBlank(userId)) {
272
+            responseBean.addError(HttpStatus.SC_BAD_REQUEST, "用户Id不能为空");
273
+        }
274
+
275
+        SysUser currentUser = sysUserService.getById(userId);
276
+        String newPwd = "123456";
277
+        String passwd = Encrypt.md5(Encrypt.md5(newPwd), currentUser.getUserId().toString());
278
+        log.info("重置人员密码信息:{}, 新密码:{},加密盐:{}, 加密后: {}", currentUser.getUsername(), newPwd, currentUser.getUserId().toString(), passwd);
279
+        currentUser.setPassword(passwd);
280
+        currentUser.setLoginname(currentUser.getPhone());
281
+        boolean success = sysUserService.updateById(currentUser);
282
+
283
+
284
+        if (!success) {
285
+            responseBean.addError(HttpStatus.SC_INTERNAL_SERVER_ERROR, "修改密码失败");
286
+            return responseBean;
287
+        }
288
+
289
+        return responseBean;
290
+    }
291
+
262 292
     @ApiOperation(value = "编辑人员", notes = "编辑人员")
263 293
     @ApiImplicitParams({
264 294
             @ApiImplicitParam(paramType = "body", dataType = "SysUser", name = "sysUser", value = "用户详情")