Quellcode durchsuchen

批量重置密码

xiatian vor 3 Jahren
Ursprung
Commit
76c2020446

+ 19 - 0
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/UserController.java

@@ -741,6 +741,25 @@ public class UserController extends ControllerSupport {
         User accessUser = getAccessUser();
         ReportsUtil.report(new AdminOperateReport(accessUser.getRootOrgId(), accessUser.getUserId(), "普通用户管理-重置用户密码", "用户ID:" + id));
     }
+    
+    @ApiOperation(value = "批量重置用户密码", notes = "重置密码")
+    @PostMapping("/resetPass")
+    @Transactional
+    public void resetPassBatch(@RequestParam Long[] ids) {
+    	if(ids==null||ids.length==0) {
+    		throw new StatusException("用户ID不能为空");
+    	}
+        for (Long userId : ids) {
+            if (isSuperAdmin(userId)) {
+                throw new StatusException("150410", "超级管理员账号不允许修改");
+            }
+            UserEntity user = GlobalHelper.getEntity(userRepo, userId, UserEntity.class);
+            user.setPassword(ByteUtil.toHexAscii(SHA256.encode(user.getLoginName() + BasicConsts.DEFAULT_PASSWORD)));
+            userRepo.save(user);
+        }
+        User accessUser = getAccessUser();
+        ReportsUtil.report(new AdminOperateReport(accessUser.getRootOrgId(), accessUser.getUserId(), "普通用户管理-批量重置用户密码", null));
+    }
 
     @ApiOperation(value = "启用用户", notes = "启用用户")
     @PutMapping("/enable/{ids}")