public ResponseVO getUserInfo(@VerifyParam(required = true) String userId) { UserInfo userInfo = userInfoService.getUserInfoByUserId(userId); if (null == userInfo || UserStatusEnum.DISABLE.getStatus().equals(userInfo.getStatus())) { throw new BusinessException(ResponseCodeEnum.CODE_404);} ForumArticleQuery articleQuery = new ForumArticleQuery(); articleQuery.setUserId(userId); articleQuery.setStatus(ArticleStatusEnum.AUDIT.getStatus()); Integer postCount = forumArticleService.findCountByParam(articleQuery); UserInfoVO userInfoVO = CopyTools.copy(userInfo, UserInfoVO.class); userInfoVO.setPostCount(postCount); LikeRecordQuery recordQuery = new LikeRecordQuery(); recordQuery.setAuthorUserId(userId); Integer likeCount = likeRecordService.findCountByParam(recordQuery); userInfoVO.setLikeCount(likeCount); userInfoVO.setCurrentIntegral(userInfo.getCurrentIntegral()); return getSuccessResponseVO(userInfoVO);} @RequestMapping("/updateUserInfo") @GlobalInterceptor(checkParams = true, checkLogin = true) public ResponseVO updateUserInfo(HttpSession session, Integer sex, @VerifyParam(max = 100) String personDescription, MultipartFile avatar) { SessionWebUserDto userDto = getUserInfoFromSession(session); UserInfo userInfo = new UserInfo(); userInfo.setUserId(userDto.getUserId()); userInfo.setSex(sex); userInfo.setPersonDescription(personDescription); userInfoService.updateUserInfo(userInfo, avatar); return getSuccessResponseVO(null);}
时间: 2023-06-15 21:06:51 浏览: 174
获取用户信息
这段代码是一个基于Spring MVC框架的Java Web应用的控制器(Controller),包含两个接口方法getUserInfo和updateUserInfo。getUserInfo方法接收一个userId参数,通过调用userInfoService的getUserInfoByUserId方法获取用户信息,如果用户不存在或者状态为DISABLE则抛出业务异常。然后通过调用forumArticleService和likeRecordService的方法获取用户发表的帖子数量和点赞数量,并将这些信息封装到UserInfoVO对象中返回。
updateUserInfo方法接收三个参数,分别为sex、personDescription和avatar。其中sex和personDescription直接设置到UserInfo对象中,avatar则通过调用userInfoService的updateUserInfo方法进行更新。最后返回一个空的成功响应对象ResponseVO。
这段代码使用了注解@VerifyParam、@GlobalInterceptor和@RequestMapping等。其中@VerifyParam用于参数验证,@GlobalInterceptor用于全局拦截器,@RequestMapping用于映射请求路径。
阅读全文