Переглянути джерело

Merge remote-tracking branch 'origin/master'

宋悦 8 роки тому
батько
коміт
5d119e617d

+ 99 - 76
core-api/src/main/java/cn/com/qmth/examcloud/service/core/api/UserApi.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiOperation;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -51,96 +52,96 @@ public class UserApi {
     UserRepo userRepo;
 
 
-    @ApiOperation(value="查询所有用户",notes="分页带查询")
+    @ApiOperation(value = "查询所有用户", notes = "分页带查询")
     @GetMapping("/all/{curPage}/{pageSize}")
     public ResponseEntity getAllUser(@ModelAttribute User userCriteria,
                                      @PathVariable Integer curPage,
                                      @PathVariable Integer pageSize,
-                                     HttpServletRequest request){
+                                     HttpServletRequest request) {
 
         userCriteria.setType(UserType.NOT_STUDENT);
         AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
-        if(accessUser != null){
-            if(accessUser.getRootOrgId() == 0){
+        if (accessUser != null) {
+            if (accessUser.getRootOrgId() == 0) {
                 return new ResponseEntity(userService.findOrgUser(userCriteria,
-                        new PageRequest(curPage - 1,pageSize)), HttpStatus.OK);
-            }else{
+                        new PageRequest(curPage - 1, pageSize)), HttpStatus.OK);
+            } else {
                 userCriteria.setRootOrgId(accessUser.getRootOrgId());
             }
         }else{
             return new ResponseEntity(HttpStatus.NOT_FOUND);
         }
         return new ResponseEntity(userService.findAll(userCriteria,
-                new PageRequest(curPage - 1,pageSize)), HttpStatus.OK);
+                new PageRequest(curPage - 1, pageSize)), HttpStatus.OK);
     }
 
-    @ApiOperation(value="按id查询用户",notes="id查询")
+    @ApiOperation(value = "按id查询用户", notes = "id查询")
     @GetMapping("/{id}")
-    public ResponseEntity getUserById(@PathVariable long id){
+    public ResponseEntity getUserById(@PathVariable long id) {
         return new ResponseEntity(userRepo.findOne(id), HttpStatus.OK);
     }
 
-    @ApiOperation(value="按orgId查询用户",notes="机构id查询机构用户")
+    @ApiOperation(value = "按orgId查询用户", notes = "机构id查询机构用户")
     @GetMapping("/org/{orgId}")
-    public ResponseEntity getUserByOrgId(@PathVariable long orgId){
+    public ResponseEntity getUserByOrgId(@PathVariable long orgId) {
         List<User> userList = userRepo.findByOrgIdAndType(orgId, UserType.NOT_STUDENT.name());
         return new ResponseEntity(userList, HttpStatus.OK);
     }
 
-    @ApiOperation(value="按rootOrgId查询用户",notes="根机构id查询机构用户")
+    @ApiOperation(value = "按rootOrgId查询用户", notes = "根机构id查询机构用户")
     @GetMapping("/rootOrg/{rootOrgId}")
-    public ResponseEntity getUserByRootOrgId(@PathVariable long rootOrgId){
+    public ResponseEntity getUserByRootOrgId(@PathVariable long rootOrgId) {
         List<User> userList = userRepo.findByRootOrgIdAndType(rootOrgId, UserType.NOT_STUDENT.name());
         return new ResponseEntity(userList, HttpStatus.OK);
     }
 
-    @ApiOperation(value="新增用户",notes="新增")
+    @ApiOperation(value = "新增用户", notes = "新增")
     @PostMapping
-    public ResponseEntity addUser(@RequestBody User user,HttpServletRequest request){
-        AccessUser accessUser = (AccessUser)request.getAttribute("accessUser");
-        if(accessUser != null){
-            if(accessUser.getRootOrgId() != 0){
+    public ResponseEntity addUser(@RequestBody User user, HttpServletRequest request) {
+        AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
+        if (accessUser != null) {
+            if (accessUser.getRootOrgId() != 0) {
                 user.setRootOrgId(accessUser.getRootOrgId());
-            }else{
+            } else {
                 user.setRootOrgId(user.getOrgId());
             }
         }else{
             return new ResponseEntity(HttpStatus.NOT_FOUND);
         }
         try {
-			return new ResponseEntity(userService.save(user), HttpStatus.CREATED);
-		} catch (Exception e) {
-			return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+            return new ResponseEntity(userService.save(user), HttpStatus.CREATED);
+        } catch (Exception e) {
+            return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
+        }
     }
 
-    @ApiOperation(value="更新用户",notes="更新")
+    @ApiOperation(value = "更新用户", notes = "更新")
     @PutMapping
-    public ResponseEntity updateUser(@RequestBody User user){
+    public ResponseEntity updateUser(@RequestBody User user) {
         try {
-			return new ResponseEntity(userService.update(user.getId(),user), HttpStatus.OK);
-		} catch (Exception e) {
-			return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
-		}
+            return new ResponseEntity(userService.update(user.getId(), user), HttpStatus.OK);
+        } catch (Exception e) {
+            return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
+        }
     }
 
-    @ApiOperation(value="重置用户密码",notes="重置密码")
+    @ApiOperation(value = "重置用户密码", notes = "重置密码")
     @PutMapping("/resetPass/{id}")
-    public ResponseEntity resetPass(@PathVariable String id){
-        List<Long> ids = Stream.of(id.split(",")).map(s->Long.parseLong(s.trim()))
+    public ResponseEntity resetPass(@PathVariable String id) {
+        List<Long> ids = Stream.of(id.split(",")).map(s -> Long.parseLong(s.trim()))
                 .collect(Collectors.toList());
-        for(Long userId:ids){
+        for (Long userId : ids) {
             userService.initPassword(userId);
         }
         return new ResponseEntity(HttpStatus.OK);
     }
 
-    @ApiOperation(value="启用用户",notes="启用用户")
+    @ApiOperation(value = "启用用户", notes = "启用用户")
     @PutMapping("/enable/{ids}")
-    public ResponseEntity enableUser(@PathVariable String ids){
-        List<Long> userIds = Stream.of(ids.split(",")).map(s->Long.parseLong(s.trim()))
+    public ResponseEntity enableUser(@PathVariable String ids) {
+        List<Long> userIds = Stream.of(ids.split(",")).map(s -> Long.parseLong(s.trim()))
                 .collect(Collectors.toList());
-        for(Long userId:userIds){
+        for (Long userId : userIds) {
             User user = userRepo.findOne(userId);
             user.setEnable(true);
             user.setUpdateTime(new Date());
@@ -149,12 +150,12 @@ public class UserApi {
         return new ResponseEntity(HttpStatus.OK);
     }
 
-    @ApiOperation(value="禁用用户",notes="禁用用户")
+    @ApiOperation(value = "禁用用户", notes = "禁用用户")
     @PutMapping("/disable/{ids}")
-    public ResponseEntity disableUser(@PathVariable String ids){
-        List<Long> userIds = Stream.of(ids.split(",")).map(s->Long.parseLong(s.trim()))
+    public ResponseEntity disableUser(@PathVariable String ids) {
+        List<Long> userIds = Stream.of(ids.split(",")).map(s -> Long.parseLong(s.trim()))
                 .collect(Collectors.toList());
-        for(Long userId:userIds){
+        for (Long userId : userIds) {
             User user = userRepo.findOne(userId);
             user.setEnable(false);
             user.setUpdateTime(new Date());
@@ -163,74 +164,96 @@ public class UserApi {
         return new ResponseEntity(HttpStatus.OK);
     }
 
-    @ApiOperation(value="修改用户密码",notes="修改密码")
+    @ApiOperation(value = "修改用户密码", notes = "修改密码")
     @PutMapping("/password")
-    public ResponseEntity updatePass(@RequestParam long userId,@RequestParam String password){
-        userRepo.updatePasswordById(userId,password);
+    public ResponseEntity updatePass(@RequestParam long userId, @RequestParam String password) {
+        userRepo.updatePasswordById(userId, password);
         return new ResponseEntity(HttpStatus.OK);
     }
 
-    @ApiOperation(value="按id删除用户",notes="删除")
+    @ApiOperation(value = "修改用户密码", notes = "修改密码")
+    @PutMapping("/stu-password")
+    @Uac(roles = {RoleMeta.STUDENT}, policy = UacPolicy.IN)
+    public ResponseEntity<String> stuPassword(@RequestParam("oldPassword") String oldPassword,
+                                              @RequestParam("newPassword") String newPassword,
+                                              HttpServletRequest request) {
+        AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
+//        String oldPassword = params.get("oldPassword");
+//        String newPassword = params.get("newPassword");
+        if (StringUtils.isEmpty(oldPassword) || StringUtils.isEmpty(newPassword)) {
+            return new ResponseEntity<>("愿密码和新密码不能为空", HttpStatus.BAD_REQUEST);
+        } else {
+            Long userId = accessUser.getUserId();
+            User user = userRepo.findOne(userId);
+            if (!oldPassword.equals(user.getPassword())) {
+                return new ResponseEntity<>("愿密码不正确", HttpStatus.BAD_REQUEST);
+            }
+            userRepo.updatePasswordById(userId, newPassword);
+            return new ResponseEntity<>(HttpStatus.OK);
+        }
+    }
+
+    @ApiOperation(value = "按id删除用户", notes = "删除")
     @DeleteMapping("/{ids}")
-    @Uac(roles = {RoleMeta.SUPER_ADMIN},policy = UacPolicy.IN)
-    public ResponseEntity deleteUser(@PathVariable String ids){
-        List<Long> userIds = Stream.of(ids.split(",")).map(s->Long.parseLong(s.trim()))
+    @Uac(roles = {RoleMeta.SUPER_ADMIN}, policy = UacPolicy.IN)
+    public ResponseEntity deleteUser(@PathVariable String ids) {
+        List<Long> userIds = Stream.of(ids.split(",")).map(s -> Long.parseLong(s.trim()))
                 .collect(Collectors.toList());
-        for(Long userId:userIds){
+        for (Long userId : userIds) {
             userRepo.delete(userId);
         }
         return new ResponseEntity(HttpStatus.OK);
     }
 
-    @ApiOperation(value="一般登录",notes="登录")
+    @ApiOperation(value = "一般登录", notes = "登录")
     @PostMapping("/login")
     public ResponseEntity login(@RequestParam String loginName,
-                                @RequestParam String password){
-        try{
-            UserInfo userInfo = userService.login(loginName,password);
-            return new ResponseEntity(userInfo,HttpStatus.OK);
-        }catch (Exception e){
-            return new ResponseEntity(new ErrorMsg(e.getMessage()),HttpStatus.INTERNAL_SERVER_ERROR);
+                                @RequestParam String password) {
+        try {
+            UserInfo userInfo = userService.login(loginName, password);
+            return new ResponseEntity(userInfo, HttpStatus.OK);
+        } catch (Exception e) {
+            return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
         }
     }
 
-    @ApiOperation(value="二级登录",notes="二级登录")
+    @ApiOperation(value = "二级登录", notes = "二级登录")
     @PostMapping("/login/{orgId}")
     public ResponseEntity login(@PathVariable long orgId,
                                 @RequestParam String loginName,
-                                @RequestParam String password){
-        try{
-            UserInfo userInfo = userService.login(orgId,loginName,password);
-            return new ResponseEntity(userInfo,HttpStatus.OK);
-        }catch (Exception e){
-            return new ResponseEntity(new ErrorMsg(e.getMessage()),HttpStatus.INTERNAL_SERVER_ERROR);
+                                @RequestParam String password) {
+        try {
+            UserInfo userInfo = userService.login(orgId, loginName, password);
+            return new ResponseEntity(userInfo, HttpStatus.OK);
+        } catch (Exception e) {
+            return new ResponseEntity(new ErrorMsg(e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR);
         }
     }
-    
-    @ApiOperation(value="登出",notes="登出")
+
+    @ApiOperation(value = "登出", notes = "登出")
     @PostMapping("/logout")
-    public ResponseEntity logout(HttpServletRequest request){
-    	AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
-    	userService.logout(accessUser);
+    public ResponseEntity logout(HttpServletRequest request) {
+        AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
+        userService.logout(accessUser);
         return new ResponseEntity(HttpStatus.OK);
     }
-    
-    @ApiOperation(value="查询评卷员",notes="查询")
+
+    @ApiOperation(value = "查询评卷员", notes = "查询")
     @GetMapping("/marker")
-    public ResponseEntity getMarker(HttpServletRequest request){
+    public ResponseEntity getMarker(HttpServletRequest request) {
         AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
         return new ResponseEntity(userService.getMarker(accessUser.getRootOrgId()), HttpStatus.OK);
     }
 
-    @ApiOperation(value="校验token",notes="校验token")
+    @ApiOperation(value = "校验token", notes = "校验token")
     @GetMapping("/checkToken")
-    public ResponseEntity checkToken(HttpServletRequest request){
+    public ResponseEntity checkToken(HttpServletRequest request) {
         AccessUser accessUser = (AccessUser) request.getAttribute("accessUser");
-        if(accessUser == null){
+        if (accessUser == null) {
             return new ResponseEntity(HttpStatus.NOT_FOUND);
-        }else if(StringUtils.isEmpty(accessUser.getToken())){
+        } else if (StringUtils.isEmpty(accessUser.getToken())) {
             return new ResponseEntity(HttpStatus.NOT_FOUND);
-        }else{
+        } else {
             return new ResponseEntity(HttpStatus.OK);
         }
     }