Search in sources :

Example 1 with User

use of com.peng.entity.User in project blogSpringBoot by lurenha.

the class LoginController method getInfo.

@RequestMapping(value = { "/getInfo" }, method = RequestMethod.GET)
public JsonResult getInfo(ServletRequest request) {
    HttpServletRequest req = (HttpServletRequest) request;
    String token = req.getHeader("Peng-Token");
    Long usId = null;
    User user = null;
    if ((usId = TokenUtil.getUserId(token)) != null) {
        user = userService.getById(usId);
        user.setPassword(null);
        user.setUsId(null);
        Map<String, Object> map = new HashMap<>();
        map.put("user", user);
        map.put("roles", new String[] { "admin" });
        map.put("permissions", new String[] { "*:*:*" });
        return ResultUtil.success(map, ResultCode.SUCCESS);
    }
    return ResultUtil.faile(ResultCode.DATA_IS_WRONG);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) User(com.peng.entity.User) HashMap(java.util.HashMap) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 2 with User

use of com.peng.entity.User in project blogSpringBoot by lurenha.

the class LoginController method login.

@RequestMapping(value = "/login", method = RequestMethod.POST)
public JsonResult login(@RequestParam("username") String username, @RequestParam("password") String password, @RequestParam("code") String code, @RequestParam("uuid") String uuid) {
    String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
    String captcha = (String) redisUtil.get(verifyKey);
    redisUtil.del(verifyKey);
    if (captcha == null) {
        throw new CaptchaExpireException("验证码不存在");
    }
    if (!code.equalsIgnoreCase(captcha)) {
        throw new CaptchaExpireException("验证码不匹配");
    }
    Map<String, Object> map = new HashMap<>();
    User user = userService.verifyLogin(username, password);
    if (user != null) {
        String token = TokenUtil.sign(user);
        map.put("token", token);
        return ResultUtil.success(map, ResultCode.SUCCESS);
    } else {
        return ResultUtil.faile(ResultCode.USER_LOGIN_ERROR);
    }
}
Also used : CaptchaExpireException(com.peng.config.exception.CaptchaExpireException) User(com.peng.entity.User) HashMap(java.util.HashMap) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with User

use of com.peng.entity.User in project blogSpringBoot by lurenha.

the class UserController method profileUpdate.

/**
 * 个人信息页修改
 */
@PostMapping("/profile/update")
public JsonResult profileUpdate(@Validated @RequestBody User user, ServletRequest request) {
    HttpServletRequest req = (HttpServletRequest) request;
    String token = req.getHeader("Peng-Token");
    Long userId = TokenUtil.getUserId(token);
    if (iUserService.count(new LambdaQueryWrapper<User>().ne(User::getUsId, userId).eq(User::getUsername, user.getUsername())) > 0) {
        return ResultUtil.faile(ResultCode.DATA_ALREADY_EXISTED_ROLE);
    }
    user.setUsId(userId);
    user.setPassword(null);
    user.setAvatar(null);
    Boolean bool = iUserService.updateById(user);
    if (bool) {
        return ResultUtil.successNoData(ResultCode.SUCCESS);
    } else {
        return ResultUtil.faile(ResultCode.DATA_IS_WRONG);
    }
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) User(com.peng.entity.User) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)

Example 4 with User

use of com.peng.entity.User in project blogSpringBoot by lurenha.

the class UserController method create.

/**
 * 头像上传
 */
@PostMapping("/profile/avatar")
public JsonResult create(@RequestParam("avatarfile") MultipartFile file, ServletRequest request) throws IOException {
    HttpServletRequest req = (HttpServletRequest) request;
    String token = req.getHeader("Peng-Token");
    Long userId = TokenUtil.getUserId(token);
    if (!file.isEmpty()) {
        String url = fileUploadUtils.upload(file);
        iUserService.update(new LambdaUpdateWrapper<User>().set(User::getAvatar, url).eq(User::getUsId, userId));
        return ResultUtil.success(url, ResultCode.SUCCESS);
    }
    return ResultUtil.faile(ResultCode.DATA_IS_WRONG);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) User(com.peng.entity.User)

Example 5 with User

use of com.peng.entity.User in project blogSpringBoot by lurenha.

the class UserController method profile.

/**
 * 个人信息修改密码
 */
@PostMapping("/profile/updatePwd")
public JsonResult profile(ServletRequest request, @RequestParam(value = "oldPassword") String oldPassword, @RequestParam(value = "newPassword") String newPassword) {
    HttpServletRequest req = (HttpServletRequest) request;
    String token = req.getHeader("Peng-Token");
    Long userId = TokenUtil.getUserId(token);
    User user = iUserService.getById(userId);
    if (!user.getPassword().equals(oldPassword)) {
        return ResultUtil.faile(ResultCode.PWD_AUTH_ERROR);
    }
    boolean bool = iUserService.update(new LambdaUpdateWrapper<User>().set(User::getPassword, newPassword).eq(User::getUsId, userId));
    if (bool) {
        return ResultUtil.successNoData(ResultCode.SUCCESS);
    } else {
        return ResultUtil.faile(ResultCode.DATA_IS_WRONG);
    }
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) User(com.peng.entity.User)

Aggregations

User (com.peng.entity.User)7 HttpServletRequest (javax.servlet.http.HttpServletRequest)5 SysRole (com.peng.entity.sys.SysRole)2 HashMap (java.util.HashMap)2 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)2 LambdaQueryWrapper (com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)1 CaptchaExpireException (com.peng.config.exception.CaptchaExpireException)1 RequiresPermissions (org.apache.shiro.authz.annotation.RequiresPermissions)1