Commit 678ee9d2 by 段启岩

我的关注和他人的关注里面添加统计信息

parent 9458e648
package cn.meteor.beyondclouds.common.vo; package cn.meteor.beyondclouds.common.dto;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data; import lombok.Data;
...@@ -11,7 +11,7 @@ import java.util.List; ...@@ -11,7 +11,7 @@ import java.util.List;
* @author meteor * @author meteor
*/ */
@Data @Data
public class PageVO<T> { public class PageDTO<T> {
/** /**
* 总页数 * 总页数
...@@ -33,17 +33,17 @@ public class PageVO<T> { ...@@ -33,17 +33,17 @@ public class PageVO<T> {
*/ */
private List<T> dataList; private List<T> dataList;
public PageVO() { public PageDTO() {
} }
public PageVO(IPage<T> page) { public PageDTO(IPage<T> page) {
setDataList(page.getRecords()); setDataList(page.getRecords());
setTotalPage(page.getPages()); setTotalPage(page.getPages());
setTotalRecords(page.getTotal()); setTotalRecords(page.getTotal());
setPageSize(page.getSize()); setPageSize(page.getSize());
} }
public PageVO(Page<T> page) { public PageDTO(Page<T> page) {
setDataList(page.getContent()); setDataList(page.getContent());
setTotalPage(page.getTotalPages()); setTotalPage(page.getTotalPages());
setTotalRecords(page.getTotalElements()); setTotalRecords(page.getTotalElements());
......
package cn.meteor.beyondclouds.modules.blog.api; package cn.meteor.beyondclouds.modules.blog.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -94,11 +94,11 @@ public class BlogApi { ...@@ -94,11 +94,11 @@ public class BlogApi {
@Anonymous @Anonymous
@ApiOperation("博客列表") @ApiOperation("博客列表")
@GetMapping("/blogs") @GetMapping("/blogs")
public Response<PageVO<Blog>> getBlogs (@Valid PageForm pageForm, public Response<PageDTO<Blog>> getBlogs (@Valid PageForm pageForm,
@RequestParam(value = "categoryId", required = false) Integer categoryId) { @RequestParam(value = "categoryId", required = false) Integer categoryId) {
IPage<Blog> blogPage = blogService.getBlogPage(pageForm.getPage(), pageForm.getSize(), categoryId); IPage<Blog> blogPage = blogService.getBlogPage(pageForm.getPage(), pageForm.getSize(), categoryId);
PageVO<Blog> blogPageVO = new PageVO<>(blogPage); PageDTO<Blog> blogPageDTO = new PageDTO<>(blogPage);
return Response.success(blogPageVO); return Response.success(blogPageDTO);
} }
/** /**
...@@ -109,10 +109,10 @@ public class BlogApi { ...@@ -109,10 +109,10 @@ public class BlogApi {
*/ */
@ApiOperation("我的博客列表") @ApiOperation("我的博客列表")
@GetMapping("/my/blogs") @GetMapping("/my/blogs")
public Response<PageVO<Blog>> getMyBlogs (@Valid PageForm pageForm , @CurrentSubject Subject subject) { public Response<PageDTO<Blog>> getMyBlogs (@Valid PageForm pageForm , @CurrentSubject Subject subject) {
IPage<Blog> blogPage = blogService.getMyBlogPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<Blog> blogPage = blogService.getMyBlogPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Blog> blogPageVO = new PageVO<>(blogPage); PageDTO<Blog> blogPageDTO = new PageDTO<>(blogPage);
return Response.success(blogPageVO); return Response.success(blogPageDTO);
} }
...@@ -125,10 +125,10 @@ public class BlogApi { ...@@ -125,10 +125,10 @@ public class BlogApi {
@Anonymous @Anonymous
@ApiOperation("他人博客列表") @ApiOperation("他人博客列表")
@GetMapping("/user/{userId}/blogs") @GetMapping("/user/{userId}/blogs")
public Response<PageVO<Blog>> getOtherBlogs (@Valid PageForm pageForm , @PathVariable("userId") String userId) { public Response<PageDTO<Blog>> getOtherBlogs (@Valid PageForm pageForm , @PathVariable("userId") String userId) {
IPage<Blog> blogPage = blogService.getUserBlogPage(pageForm.getPage(), pageForm.getSize(), userId); IPage<Blog> blogPage = blogService.getUserBlogPage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<Blog> blogPageVO = new PageVO<>(blogPage); PageDTO<Blog> blogPageDTO = new PageDTO<>(blogPage);
return Response.success(blogPageVO); return Response.success(blogPageDTO);
} }
@ApiOperation("修改博客") @ApiOperation("修改博客")
...@@ -156,10 +156,10 @@ public class BlogApi { ...@@ -156,10 +156,10 @@ public class BlogApi {
@Anonymous @Anonymous
@ApiOperation("热门博客") @ApiOperation("热门博客")
@GetMapping("/blog/hots") @GetMapping("/blog/hots")
public Response<PageVO<Blog>> getHotBlogs (@Valid PageForm pageForm) { public Response<PageDTO<Blog>> getHotBlogs (@Valid PageForm pageForm) {
IPage<Blog> blogPage = blogService.getHotBlogPage(pageForm.getPage(), pageForm.getSize()); IPage<Blog> blogPage = blogService.getHotBlogPage(pageForm.getPage(), pageForm.getSize());
PageVO<Blog> blogPageVO = new PageVO<>(blogPage); PageDTO<Blog> blogPageDTO = new PageDTO<>(blogPage);
return Response.success(blogPageVO); return Response.success(blogPageDTO);
} }
@Anonymous @Anonymous
...@@ -171,8 +171,8 @@ public class BlogApi { ...@@ -171,8 +171,8 @@ public class BlogApi {
} }
IPage<Blog> blogPage = blogService.getBlogPageByTagId(pageForm.getPage(), pageForm.getSize(), tagId); IPage<Blog> blogPage = blogService.getBlogPageByTagId(pageForm.getPage(), pageForm.getSize(), tagId);
PageVO<Blog> blogPageVO = new PageVO<>(blogPage); PageDTO<Blog> blogPageDTO = new PageDTO<>(blogPage);
return Response.success(blogPageVO); return Response.success(blogPageDTO);
} }
@Anonymous @Anonymous
...@@ -183,8 +183,8 @@ public class BlogApi { ...@@ -183,8 +183,8 @@ public class BlogApi {
return Response.fieldError(bindingResult.getFieldError()); return Response.fieldError(bindingResult.getFieldError());
} }
IPage<Blog> blogPage = blogService.getRelatedBlogPage(pageForm.getPage() , pageForm.getSize() , blogId); IPage<Blog> blogPage = blogService.getRelatedBlogPage(pageForm.getPage() , pageForm.getSize() , blogId);
PageVO<Blog> blogPageVO = new PageVO<>(blogPage); PageDTO<Blog> blogPageDTO = new PageDTO<>(blogPage);
return Response.success(blogPageVO); return Response.success(blogPageDTO);
} }
} }
package cn.meteor.beyondclouds.modules.blog.api; package cn.meteor.beyondclouds.modules.blog.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -63,15 +63,15 @@ public class BlogCommentApi { ...@@ -63,15 +63,15 @@ public class BlogCommentApi {
@Anonymous @Anonymous
@ApiOperation("评论列表") @ApiOperation("评论列表")
@GetMapping("/blog/{blogId}/comments") @GetMapping("/blog/{blogId}/comments")
public Response<PageVO<BlogComment>> getBlogCommentPage(@PathVariable("blogId") String bLogId, public Response<PageDTO<BlogComment>> getBlogCommentPage(@PathVariable("blogId") String bLogId,
@Valid PageForm pageForm , @Valid PageForm pageForm ,
@RequestParam(value = "parent_id",required = false) Integer parentId) { @RequestParam(value = "parent_id",required = false) Integer parentId) {
//获取评论列表 //获取评论列表
try { try {
IPage<BlogComment> commentPage = blogCommentService.getCommentPage(pageForm.getPage(), pageForm.getSize(), bLogId, parentId); IPage<BlogComment> commentPage = blogCommentService.getCommentPage(pageForm.getPage(), pageForm.getSize(), bLogId, parentId);
PageVO<BlogComment> blogCommentPageVO = new PageVO<>(commentPage); PageDTO<BlogComment> blogCommentPageDTO = new PageDTO<>(commentPage);
return Response.success(blogCommentPageVO); return Response.success(blogCommentPageDTO);
} catch (BlogCommentServiceException e) { } catch (BlogCommentServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
......
package cn.meteor.beyondclouds.modules.content.api; package cn.meteor.beyondclouds.modules.content.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.modules.content.dto.ContentDetailDTO; import cn.meteor.beyondclouds.modules.content.dto.ContentDetailDTO;
...@@ -52,8 +52,8 @@ public class ContentApi { ...@@ -52,8 +52,8 @@ public class ContentApi {
try { try {
IPage<Content> contentPage = contentService.getPageByChannelId(channelId, contentType, pageForm.getPage(), pageForm.getSize()); IPage<Content> contentPage = contentService.getPageByChannelId(channelId, contentType, pageForm.getPage(), pageForm.getSize());
PageVO<Content> contentPageVO = new PageVO<>(contentPage); PageDTO<Content> contentPageDTO = new PageDTO<>(contentPage);
return Response.success(contentPageVO); return Response.success(contentPageDTO);
} catch (ContentServiceException e) { } catch (ContentServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
......
...@@ -2,7 +2,7 @@ package cn.meteor.beyondclouds.modules.message.api; ...@@ -2,7 +2,7 @@ package cn.meteor.beyondclouds.modules.message.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.authentication.Subject; import cn.meteor.beyondclouds.core.authentication.Subject;
...@@ -60,8 +60,8 @@ public class MessageApi { ...@@ -60,8 +60,8 @@ public class MessageApi {
} }
// 根据用户获取列表并返回 // 根据用户获取列表并返回
IPage<Message> messageIPage = messageService.getMessagePage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<Message> messageIPage = messageService.getMessagePage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Message> messagePageVO = new PageVO<>(messageIPage); PageDTO<Message> messagePageDTO = new PageDTO<>(messageIPage);
return Response.success(messagePageVO); return Response.success(messagePageDTO);
} }
@ApiOperation("消息详情") @ApiOperation("消息详情")
......
package cn.meteor.beyondclouds.modules.post.api; package cn.meteor.beyondclouds.modules.post.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -174,7 +174,7 @@ public class PostApi { ...@@ -174,7 +174,7 @@ public class PostApi {
* @param postPage * @param postPage
* @return * @return
*/ */
private PageVO<? extends PostVO> toPostVOPage(IPage<Post> postPage, Subject subject) { private PageDTO<? extends PostVO> toPostVOPage(IPage<Post> postPage, Subject subject) {
List<PostVO> postVOList; List<PostVO> postVOList;
if (null != subject && subject.isAuthenticated()) { if (null != subject && subject.isAuthenticated()) {
String currentUserId = (String) subject.getId(); String currentUserId = (String) subject.getId();
...@@ -205,9 +205,9 @@ public class PostApi { ...@@ -205,9 +205,9 @@ public class PostApi {
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
PageVO<PostVO> postPageVO = new PageVO<>(); PageDTO<PostVO> postPageDTO = new PageDTO<>();
PageUtils.copyMeta(postPage, postPageVO); PageUtils.copyMeta(postPage, postPageDTO);
postPageVO.setDataList(postVOList); postPageDTO.setDataList(postVOList);
return postPageVO; return postPageDTO;
} }
} }
package cn.meteor.beyondclouds.modules.post.api; package cn.meteor.beyondclouds.modules.post.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -70,13 +70,13 @@ public class PostCommentApi { ...@@ -70,13 +70,13 @@ public class PostCommentApi {
@Anonymous @Anonymous
@ApiOperation("评论列表") @ApiOperation("评论列表")
@GetMapping("/post/{postId}/comments") @GetMapping("/post/{postId}/comments")
public Response<PageVO<PostComment>> getPostCommentPage(@PathVariable("postId") String postId , public Response<PageDTO<PostComment>> getPostCommentPage(@PathVariable("postId") String postId ,
@Valid PageForm pageForm , @Valid PageForm pageForm ,
@RequestParam(value = "parent_id",required = false) Integer parentId) { @RequestParam(value = "parent_id",required = false) Integer parentId) {
try { try {
IPage<PostComment> postCommentIPage = postCommentService.getCommentPage(pageForm.getPage(), pageForm.getSize(), postId, parentId); IPage<PostComment> postCommentIPage = postCommentService.getCommentPage(pageForm.getPage(), pageForm.getSize(), postId, parentId);
PageVO<PostComment> postCommentPageVO = new PageVO<>(postCommentIPage); PageDTO<PostComment> postCommentPageDTO = new PageDTO<>(postCommentIPage);
return Response.success(postCommentPageVO); return Response.success(postCommentPageDTO);
} catch (PostCommentServiceException e) { } catch (PostCommentServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
......
package cn.meteor.beyondclouds.modules.project.api; package cn.meteor.beyondclouds.modules.project.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -149,11 +149,11 @@ public class ProjectApi { ...@@ -149,11 +149,11 @@ public class ProjectApi {
@Anonymous @Anonymous
@ApiOperation("项目列表") @ApiOperation("项目列表")
@GetMapping("/projects") @GetMapping("/projects")
public Response<PageVO<Project>> getProjects(@Valid PageForm pageForm, @RequestParam(value = "categoryId", required = false) Integer categoryId) { public Response<PageDTO<Project>> getProjects(@Valid PageForm pageForm, @RequestParam(value = "categoryId", required = false) Integer categoryId) {
// 获取列表并返回 // 获取列表并返回
IPage<Project> projectPage = projectService.getProjectPage(pageForm.getPage(), pageForm.getSize(), categoryId); IPage<Project> projectPage = projectService.getProjectPage(pageForm.getPage(), pageForm.getSize(), categoryId);
PageVO<Project> projectPageVO = new PageVO<>(projectPage); PageDTO<Project> projectPageDTO = new PageDTO<>(projectPage);
return Response.success(projectPageVO); return Response.success(projectPageDTO);
} }
/** /**
...@@ -163,11 +163,11 @@ public class ProjectApi { ...@@ -163,11 +163,11 @@ public class ProjectApi {
*/ */
@ApiOperation("我的项目列表") @ApiOperation("我的项目列表")
@GetMapping("/my/projects") @GetMapping("/my/projects")
public Response<PageVO<Project>> getMyProjects(@Valid PageForm pageForm, @CurrentSubject Subject subject) { public Response<PageDTO<Project>> getMyProjects(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
// 根据用户获取列表并返回 // 根据用户获取列表并返回
IPage<Project> projectPage = projectService.getProjectPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<Project> projectPage = projectService.getProjectPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Project> projectPageVO = new PageVO<>(projectPage); PageDTO<Project> projectPageDTO = new PageDTO<>(projectPage);
return Response.success(projectPageVO); return Response.success(projectPageDTO);
} }
/** /**
...@@ -178,22 +178,22 @@ public class ProjectApi { ...@@ -178,22 +178,22 @@ public class ProjectApi {
@Anonymous @Anonymous
@ApiOperation("他人项目列表") @ApiOperation("他人项目列表")
@GetMapping("/user/{userId}/projects") @GetMapping("/user/{userId}/projects")
public Response<PageVO<Project>> getOthersProjects(@Valid PageForm pageForm, public Response<PageDTO<Project>> getOthersProjects(@Valid PageForm pageForm,
@PathVariable("userId") String userId) { @PathVariable("userId") String userId) {
// 根据用户获取列表并返回 // 根据用户获取列表并返回
IPage<Project> projectPage = projectService.getProjectPage(pageForm.getPage(), pageForm.getSize(), userId); IPage<Project> projectPage = projectService.getProjectPage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<Project> projectPageVO = new PageVO<>(projectPage); PageDTO<Project> projectPageDTO = new PageDTO<>(projectPage);
return Response.success(projectPageVO); return Response.success(projectPageDTO);
} }
@Anonymous @Anonymous
@ApiOperation("热门项目") @ApiOperation("热门项目")
@GetMapping("/project/hots") @GetMapping("/project/hots")
public Response<PageVO<Project>> getHotProjects(@Valid PageForm pageForm) { public Response<PageDTO<Project>> getHotProjects(@Valid PageForm pageForm) {
// 获取热门项目列表并返回 // 获取热门项目列表并返回
IPage<Project> projectPage = projectService.getHotProjectPage(pageForm.getPage(), pageForm.getSize()); IPage<Project> projectPage = projectService.getHotProjectPage(pageForm.getPage(), pageForm.getSize());
PageVO<Project> projectPageVO = new PageVO<>(projectPage); PageDTO<Project> projectPageDTO = new PageDTO<>(projectPage);
return Response.success(projectPageVO); return Response.success(projectPageDTO);
} }
} }
package cn.meteor.beyondclouds.modules.project.api; package cn.meteor.beyondclouds.modules.project.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -82,14 +82,14 @@ public class ProjectCommentApi { ...@@ -82,14 +82,14 @@ public class ProjectCommentApi {
@Anonymous @Anonymous
@ApiOperation("评论列表") @ApiOperation("评论列表")
@GetMapping("/project/{projectId}/comments") @GetMapping("/project/{projectId}/comments")
public Response<PageVO<ProjectComment>> getProjectComments(@PathVariable("projectId") Integer projectId, public Response<PageDTO<ProjectComment>> getProjectComments(@PathVariable("projectId") Integer projectId,
@Valid PageForm pageForm, @Valid PageForm pageForm,
@RequestParam(value = "parentId" ,required = false) Integer parentId) { @RequestParam(value = "parentId" ,required = false) Integer parentId) {
try { try {
// 根据用户获取列表并返回 // 根据用户获取列表并返回
IPage<ProjectComment> commentPage = projectCommentService.getCommentPage(pageForm.getPage(), pageForm.getSize(), projectId, parentId); IPage<ProjectComment> commentPage = projectCommentService.getCommentPage(pageForm.getPage(), pageForm.getSize(), projectId, parentId);
PageVO<ProjectComment> projectPageVO = new PageVO<>(commentPage); PageDTO<ProjectComment> projectPageDTO = new PageDTO<>(commentPage);
return Response.success(projectPageVO); return Response.success(projectPageDTO);
} catch (ProjectCommentServiceException e) { } catch (ProjectCommentServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
......
package cn.meteor.beyondclouds.modules.question.api; package cn.meteor.beyondclouds.modules.question.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -177,11 +177,11 @@ public class QuestionApi { ...@@ -177,11 +177,11 @@ public class QuestionApi {
@Anonymous @Anonymous
@ApiOperation("问答列表") @ApiOperation("问答列表")
@GetMapping("/questions") @GetMapping("/questions")
public Response<PageVO<Question>> getQuestions(@Valid PageForm pageForm, @RequestParam(value = "categoryId", required = false) Integer categoryId) { public Response<PageDTO<Question>> getQuestions(@Valid PageForm pageForm, @RequestParam(value = "categoryId", required = false) Integer categoryId) {
//获取列表并返回 //获取列表并返回
IPage<Question> questionPage = questionService.getQuestionPage(pageForm.getPage(), pageForm.getSize(), categoryId); IPage<Question> questionPage = questionService.getQuestionPage(pageForm.getPage(), pageForm.getSize(), categoryId);
PageVO<Question> questionPageVO = new PageVO<>(questionPage); PageDTO<Question> questionPageDTO = new PageDTO<>(questionPage);
return Response.success(questionPageVO); return Response.success(questionPageDTO);
} }
/** /**
...@@ -192,11 +192,11 @@ public class QuestionApi { ...@@ -192,11 +192,11 @@ public class QuestionApi {
*/ */
@ApiOperation("我创建的问答列表") @ApiOperation("我创建的问答列表")
@GetMapping("/my/questions") @GetMapping("/my/questions")
public Response<PageVO<Question>> getMyQuestions(@Valid PageForm pageForm, @CurrentSubject Subject subject) { public Response<PageDTO<Question>> getMyQuestions(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
//获取我的列表并返回 //获取我的列表并返回
IPage<Question> myQuestionPage = questionService.getUserQuestionPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<Question> myQuestionPage = questionService.getUserQuestionPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Question> questionPageVO = new PageVO<>(myQuestionPage); PageDTO<Question> questionPageDTO = new PageDTO<>(myQuestionPage);
return Response.success(questionPageVO); return Response.success(questionPageDTO);
} }
/** /**
...@@ -207,11 +207,11 @@ public class QuestionApi { ...@@ -207,11 +207,11 @@ public class QuestionApi {
*/ */
@ApiOperation("我参与的问答列表") @ApiOperation("我参与的问答列表")
@GetMapping("/my/question/participated") @GetMapping("/my/question/participated")
public Response<PageVO<Question>> getMyParticipateQuestions(@Valid PageForm pageForm, @CurrentSubject Subject subject) { public Response<PageDTO<Question>> getMyParticipateQuestions(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
//获取我的列表并返回 //获取我的列表并返回
IPage<Question> questionPage = questionService.getUserParticipatePage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<Question> questionPage = questionService.getUserParticipatePage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Question> questionReplyPageVO = new PageVO<>(questionPage); PageDTO<Question> questionReplyPageDTO = new PageDTO<>(questionPage);
return Response.success(questionReplyPageVO); return Response.success(questionReplyPageDTO);
} }
/** /**
...@@ -223,11 +223,11 @@ public class QuestionApi { ...@@ -223,11 +223,11 @@ public class QuestionApi {
@Anonymous @Anonymous
@ApiOperation("用户创建的问答列表") @ApiOperation("用户创建的问答列表")
@GetMapping("/user/{userId}/questions") @GetMapping("/user/{userId}/questions")
public Response<PageVO<Question>> getOthersQuestions(@Valid PageForm pageForm, @PathVariable("userId") String userId) { public Response<PageDTO<Question>> getOthersQuestions(@Valid PageForm pageForm, @PathVariable("userId") String userId) {
//获取别人的问答列表并返回 //获取别人的问答列表并返回
IPage<Question> questionPage = questionService.getUserQuestionPage(pageForm.getPage(), pageForm.getSize(), userId); IPage<Question> questionPage = questionService.getUserQuestionPage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<Question> questionPageVO = new PageVO<>(questionPage); PageDTO<Question> questionPageDTO = new PageDTO<>(questionPage);
return Response.success(questionPageVO); return Response.success(questionPageDTO);
} }
/** /**
...@@ -239,30 +239,30 @@ public class QuestionApi { ...@@ -239,30 +239,30 @@ public class QuestionApi {
@Anonymous @Anonymous
@ApiOperation("用户参与的问答列表") @ApiOperation("用户参与的问答列表")
@GetMapping("/user/{userId}/question/participated") @GetMapping("/user/{userId}/question/participated")
public Response<PageVO<Question>> getUserParticipateQuestions(@Valid PageForm pageForm, @PathVariable("userId") String userId) { public Response<PageDTO<Question>> getUserParticipateQuestions(@Valid PageForm pageForm, @PathVariable("userId") String userId) {
//获取用户参与的问答列表并返回 //获取用户参与的问答列表并返回
IPage<Question> userParticipateQuestion = questionService.getUserParticipatePage(pageForm.getPage(), pageForm.getSize(), userId); IPage<Question> userParticipateQuestion = questionService.getUserParticipatePage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<Question> questionReplyPageVO = new PageVO<>(userParticipateQuestion); PageDTO<Question> questionReplyPageDTO = new PageDTO<>(userParticipateQuestion);
return Response.success(questionReplyPageVO); return Response.success(questionReplyPageDTO);
} }
@Anonymous @Anonymous
@ApiOperation("热门回答") @ApiOperation("热门回答")
@GetMapping("/question/hots") @GetMapping("/question/hots")
public Response<PageVO<Question>> getHotsQuestions(@Valid PageForm pageForm) { public Response<PageDTO<Question>> getHotsQuestions(@Valid PageForm pageForm) {
IPage<Question> questionPage = questionService.getHotsQuestionsPage(pageForm.getPage(), pageForm.getSize()); IPage<Question> questionPage = questionService.getHotsQuestionsPage(pageForm.getPage(), pageForm.getSize());
PageVO<Question> questionPageVO = new PageVO<>(questionPage); PageDTO<Question> questionPageDTO = new PageDTO<>(questionPage);
return Response.success(questionPageVO); return Response.success(questionPageDTO);
} }
@Anonymous @Anonymous
@ApiOperation("相关问答") @ApiOperation("相关问答")
@GetMapping("/question/{questionId}/recommends") @GetMapping("/question/{questionId}/recommends")
public Response<PageVO<Question>> questionRecommends(@Valid PageForm pageForm, @PathVariable("questionId") String questionId) { public Response<PageDTO<Question>> questionRecommends(@Valid PageForm pageForm, @PathVariable("questionId") String questionId) {
try { try {
IPage<Question> questionPage = questionService.questionRecommends(pageForm.getPage(), pageForm.getSize(), questionId); IPage<Question> questionPage = questionService.questionRecommends(pageForm.getPage(), pageForm.getSize(), questionId);
PageVO<Question> questionPageVO = new PageVO<>(questionPage); PageDTO<Question> questionPageDTO = new PageDTO<>(questionPage);
return Response.success(questionPageVO); return Response.success(questionPageDTO);
} catch (QuestionServiceException e) { } catch (QuestionServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
...@@ -272,11 +272,11 @@ public class QuestionApi { ...@@ -272,11 +272,11 @@ public class QuestionApi {
@Anonymous @Anonymous
@ApiOperation("得到标签下的问答列表") @ApiOperation("得到标签下的问答列表")
@GetMapping("/tag/{tagId}/questions") @GetMapping("/tag/{tagId}/questions")
public Response<PageVO<Question>> getQuestionsByTagId(@Valid PageForm pageForm, @PathVariable("tagId") String tagId) { public Response<PageDTO<Question>> getQuestionsByTagId(@Valid PageForm pageForm, @PathVariable("tagId") String tagId) {
try { try {
IPage<Question> page = questionService.getQuestionsByTagId(pageForm.getPage(), pageForm.getSize(), tagId); IPage<Question> page = questionService.getQuestionsByTagId(pageForm.getPage(), pageForm.getSize(), tagId);
PageVO<Question> pageVO = new PageVO<>(page); PageDTO<Question> pageDTO = new PageDTO<>(page);
return Response.success(pageVO); return Response.success(pageDTO);
} catch (QuestionTagServiceException e) { } catch (QuestionTagServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
......
package cn.meteor.beyondclouds.modules.question.api; package cn.meteor.beyondclouds.modules.question.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -85,12 +85,12 @@ public class QuestionReplyApi { ...@@ -85,12 +85,12 @@ public class QuestionReplyApi {
@Anonymous @Anonymous
@ApiOperation("问题的回复列表") @ApiOperation("问题的回复列表")
@GetMapping("/question/{questionId}/replies") @GetMapping("/question/{questionId}/replies")
public Response<PageVO<QuestionReply>> getReplies(@Valid PageForm pageForm, @PathVariable("questionId") String questionId) { public Response<PageDTO<QuestionReply>> getReplies(@Valid PageForm pageForm, @PathVariable("questionId") String questionId) {
//获取问题的回复列表 //获取问题的回复列表
try { try {
IPage<QuestionReply> questionReplyPage = questionReplyService.getReplies(pageForm.getPage(), pageForm.getSize(), questionId); IPage<QuestionReply> questionReplyPage = questionReplyService.getReplies(pageForm.getPage(), pageForm.getSize(), questionId);
PageVO<QuestionReply> questionReplyPageVO = new PageVO<>(questionReplyPage); PageDTO<QuestionReply> questionReplyPageDTO = new PageDTO<>(questionReplyPage);
return Response.success(questionReplyPageVO); return Response.success(questionReplyPageDTO);
} catch (QuestionReplyServiceException e) { } catch (QuestionReplyServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
......
package cn.meteor.beyondclouds.modules.question.api; package cn.meteor.beyondclouds.modules.question.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -89,13 +89,13 @@ public class QuestionReplyCommentApi { ...@@ -89,13 +89,13 @@ public class QuestionReplyCommentApi {
@Anonymous @Anonymous
@ApiOperation("评论列表") @ApiOperation("评论列表")
@GetMapping("/question/reply/{replyId}/comments") @GetMapping("/question/reply/{replyId}/comments")
public Response<PageVO<QuestionReplyComment>> getReplyComments(@PathVariable("replyId") String replyId, public Response<PageDTO<QuestionReplyComment>> getReplyComments(@PathVariable("replyId") String replyId,
@Valid PageForm pageForm, @Valid PageForm pageForm,
@RequestParam(value = "parentId", required = false) String parentId) { @RequestParam(value = "parentId", required = false) String parentId) {
try { try {
IPage<QuestionReplyComment> replyCommentPage = questionReplyCommentService.getReplyCommentPage(pageForm.getPage(), pageForm.getSize(), replyId, parentId); IPage<QuestionReplyComment> replyCommentPage = questionReplyCommentService.getReplyCommentPage(pageForm.getPage(), pageForm.getSize(), replyId, parentId);
PageVO<QuestionReplyComment> questionReplyCommentPageVO = new PageVO<>(replyCommentPage); PageDTO<QuestionReplyComment> questionReplyCommentPageDTO = new PageDTO<>(replyCommentPage);
return Response.success(questionReplyCommentPageVO); return Response.success(questionReplyCommentPageDTO);
} catch (QuestionReplyCommentServiceException e) { } catch (QuestionReplyCommentServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(e); return Response.error(e);
......
...@@ -2,7 +2,7 @@ package cn.meteor.beyondclouds.modules.search.api; ...@@ -2,7 +2,7 @@ package cn.meteor.beyondclouds.modules.search.api;
import cn.meteor.beyondclouds.common.enums.ErrorCode; import cn.meteor.beyondclouds.common.enums.ErrorCode;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.modules.search.entity.SearchItem; import cn.meteor.beyondclouds.modules.search.entity.SearchItem;
...@@ -45,8 +45,8 @@ public class SearchApi { ...@@ -45,8 +45,8 @@ public class SearchApi {
// spring的分页是从0开始的,对输入的页码减1后可以统一分页规则 // spring的分页是从0开始的,对输入的页码减1后可以统一分页规则
pageForm.setPage(pageForm.getPage() - 1); pageForm.setPage(pageForm.getPage() - 1);
Page<SearchItem> searchItemPage = searchService.searchPage(pageForm.getPage(), pageForm.getSize(), itemType, keywords); Page<SearchItem> searchItemPage = searchService.searchPage(pageForm.getPage(), pageForm.getSize(), itemType, keywords);
PageVO<SearchItem> searchItemPageVO = new PageVO<>(searchItemPage); PageDTO<SearchItem> searchItemPageDTO = new PageDTO<>(searchItemPage);
return Response.success(searchItemPageVO); return Response.success(searchItemPageDTO);
} }
......
package cn.meteor.beyondclouds.modules.tag.api; package cn.meteor.beyondclouds.modules.tag.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -65,29 +65,29 @@ public class TagApi { ...@@ -65,29 +65,29 @@ public class TagApi {
} }
IPage<Tag> tagPage = tagService.searchTags(keywords, pageForm.getPage(), pageForm.getSize()); IPage<Tag> tagPage = tagService.searchTags(keywords, pageForm.getPage(), pageForm.getSize());
PageVO<Tag> tagPageVO = new PageVO<>(tagPage); PageDTO<Tag> tagPageDTO = new PageDTO<>(tagPage);
return Response.success(tagPageVO); return Response.success(tagPageDTO);
} }
@ApiOperation("我创建的标签列表") @ApiOperation("我创建的标签列表")
@GetMapping("/my/tag/created") @GetMapping("/my/tag/created")
public Response<PageVO<Tag>> getMyTags(@Valid PageForm pageForm, @CurrentSubject Subject subject) { public Response<PageDTO<Tag>> getMyTags(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
// 根据用户获取列表并返回 // 根据用户获取列表并返回
IPage<Tag> tag = tagService.getTagPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<Tag> tag = tagService.getTagPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Tag> tagPageVO = new PageVO<>(tag); PageDTO<Tag> tagPageDTO = new PageDTO<>(tag);
return Response.success(tagPageVO); return Response.success(tagPageDTO);
} }
@Anonymous @Anonymous
@ApiOperation("热门标签") @ApiOperation("热门标签")
@GetMapping("/tag/hots") @GetMapping("/tag/hots")
public Response<PageVO<Tag>> getHotTags(@Valid PageForm pageForm, @CurrentSubject Subject subject) { public Response<PageDTO<Tag>> getHotTags(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
IPage<Tag> tag = tagService.getHotPage(pageForm.getPage(), pageForm.getSize()); IPage<Tag> tag = tagService.getHotPage(pageForm.getPage(), pageForm.getSize());
PageVO<Tag> tagPageVO = new PageVO<>(tag); PageDTO<Tag> tagPageDTO = new PageDTO<>(tag);
return Response.success(tagPageVO); return Response.success(tagPageDTO);
} }
} }
package cn.meteor.beyondclouds.modules.topic.api; package cn.meteor.beyondclouds.modules.topic.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
...@@ -65,8 +65,8 @@ public class TopicApi { ...@@ -65,8 +65,8 @@ public class TopicApi {
int pageNo = pageForm.getPage(); int pageNo = pageForm.getPage();
int pageSize = pageForm.getSize(); int pageSize = pageForm.getSize();
IPage<Topic> topicPage = topicService.getTopicPage(pageNo, pageSize); IPage<Topic> topicPage = topicService.getTopicPage(pageNo, pageSize);
PageVO<Topic> topicPageVO = new PageVO<>(topicPage); PageDTO<Topic> topicPageDTO = new PageDTO<>(topicPage);
return Response.success(topicPageVO); return Response.success(topicPageDTO);
} }
@Anonymous @Anonymous
...@@ -79,7 +79,7 @@ public class TopicApi { ...@@ -79,7 +79,7 @@ public class TopicApi {
} }
IPage<Topic> topicPage = topicService.searchTopics(keywords, pageForm.getPage(), pageForm.getSize()); IPage<Topic> topicPage = topicService.searchTopics(keywords, pageForm.getPage(), pageForm.getSize());
return Response.success(new PageVO<>(topicPage)); return Response.success(new PageDTO<>(topicPage));
} }
@Anonymous @Anonymous
...@@ -126,8 +126,8 @@ public class TopicApi { ...@@ -126,8 +126,8 @@ public class TopicApi {
return Response.fieldError(bindingResult.getFieldError()); return Response.fieldError(bindingResult.getFieldError());
} }
IPage<User> page = topicService.getTopicsFollower(pageForm.getPage(), pageForm.getSize(), topicId); IPage<User> page = topicService.getTopicsFollower(pageForm.getPage(), pageForm.getSize(), topicId);
PageVO<User> userPageVO = new PageVO<>(page); PageDTO<User> userPageDTO = new PageDTO<>(page);
return Response.success(userPageVO); return Response.success(userPageDTO);
} }
...@@ -151,11 +151,11 @@ public class TopicApi { ...@@ -151,11 +151,11 @@ public class TopicApi {
*/ */
@ApiOperation("我的话题列表") @ApiOperation("我的话题列表")
@GetMapping("/my/topic/created") @GetMapping("/my/topic/created")
public Response<PageVO<Topic>> getMyTopics(@Valid PageForm pageForm, @CurrentSubject Subject subject) { public Response<PageDTO<Topic>> getMyTopics(@Valid PageForm pageForm, @CurrentSubject Subject subject) {
// 根据用户获取列表并返回 // 根据用户获取列表并返回
IPage<Topic> topicPage = topicService.getTopicPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<Topic> topicPage = topicService.getTopicPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<Topic> topicPageVO = new PageVO<>(topicPage); PageDTO<Topic> topicPageDTO = new PageDTO<>(topicPage);
return Response.success(topicPageVO); return Response.success(topicPageDTO);
} }
...@@ -175,22 +175,22 @@ public class TopicApi { ...@@ -175,22 +175,22 @@ public class TopicApi {
@Anonymous @Anonymous
@ApiOperation("热门话题") @ApiOperation("热门话题")
@GetMapping("/topic/hots") @GetMapping("/topic/hots")
public Response<PageVO<Topic>> getHotTags(@Valid PageForm pageForm) { public Response<PageDTO<Topic>> getHotTags(@Valid PageForm pageForm) {
IPage<Topic> topic = topicService.getHotPage(pageForm.getPage(), pageForm.getSize()); IPage<Topic> topic = topicService.getHotPage(pageForm.getPage(), pageForm.getSize());
PageVO<Topic> topicPageVO = new PageVO<>(topic); PageDTO<Topic> topicPageDTO = new PageDTO<>(topic);
return Response.success(topicPageVO); return Response.success(topicPageDTO);
} }
@Anonymous @Anonymous
@ApiOperation("查询话题下的所有动态") @ApiOperation("查询话题下的所有动态")
@GetMapping("/topic/{topicName}/posts") @GetMapping("/topic/{topicName}/posts")
public Response<PageVO<Post>> getPostByTopicName(@Valid PageForm pageForm , @PathVariable("topicName") String topicName) { public Response<PageDTO<Post>> getPostByTopicName(@Valid PageForm pageForm , @PathVariable("topicName") String topicName) {
try { try {
IPage<Post> post = topicService.getPostByTopicName(pageForm.getPage(), pageForm.getSize(),topicName); IPage<Post> post = topicService.getPostByTopicName(pageForm.getPage(), pageForm.getSize(),topicName);
PageVO<Post> postPageVO = new PageVO<>(post); PageDTO<Post> postPageDTO = new PageDTO<>(post);
return Response.success(postPageVO); return Response.success(postPageDTO);
} catch (TopicServiceException e) { } catch (TopicServiceException e) {
e.printStackTrace(); e.printStackTrace();
return Response.error(); return Response.error();
......
package cn.meteor.beyondclouds.modules.user.api; package cn.meteor.beyondclouds.modules.user.api;
import cn.meteor.beyondclouds.common.form.PageForm; import cn.meteor.beyondclouds.common.form.PageForm;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.core.annotation.Anonymous; import cn.meteor.beyondclouds.core.annotation.Anonymous;
import cn.meteor.beyondclouds.core.annotation.CurrentSubject; import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.flow.CollectAccessInfo; import cn.meteor.beyondclouds.core.flow.CollectAccessInfo;
...@@ -10,6 +10,7 @@ import cn.meteor.beyondclouds.core.authentication.Subject; ...@@ -10,6 +10,7 @@ import cn.meteor.beyondclouds.core.authentication.Subject;
import cn.meteor.beyondclouds.core.flow.AccessInfo; import cn.meteor.beyondclouds.core.flow.AccessInfo;
import cn.meteor.beyondclouds.core.flow.ParamType; import cn.meteor.beyondclouds.core.flow.ParamType;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO; import cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoWithStatisticsDTO;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist; import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow; import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
...@@ -274,8 +275,8 @@ public class UserApi { ...@@ -274,8 +275,8 @@ public class UserApi {
// 根据userId获取粉丝并返回 // 根据userId获取粉丝并返回
IPage<UserBlacklist> blacklistIPage = userBlacklistService.getMyBlackList(pageForm.getPage(), pageForm.getSize(), userId); IPage<UserBlacklist> blacklistIPage = userBlacklistService.getMyBlackList(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<UserBlacklist> blacklistPageVO = new PageVO<>(blacklistIPage); PageDTO<UserBlacklist> blacklistPageDTO = new PageDTO<>(blacklistIPage);
return Response.success(blacklistPageVO); return Response.success(blacklistPageDTO);
} }
...@@ -299,8 +300,8 @@ public class UserApi { ...@@ -299,8 +300,8 @@ public class UserApi {
// 根据userId获取粉丝并返回 // 根据userId获取粉丝并返回
IPage<UserFollow> fansPage = userFollowService.getFansPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId()); IPage<UserFollow> fansPage = userFollowService.getFansPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
PageVO<UserFollow> fansPageVo = new PageVO<>(fansPage); PageDTO<UserFollow> fansPageDTO = new PageDTO<>(fansPage);
return Response.success(fansPageVo); return Response.success(fansPageDTO);
} }
...@@ -311,8 +312,8 @@ public class UserApi { ...@@ -311,8 +312,8 @@ public class UserApi {
// 根据userId获取粉丝并返回 // 根据userId获取粉丝并返回
IPage<UserFollow> fansPage = userFollowService.getFansPage(pageForm.getPage(), pageForm.getSize(),userId); IPage<UserFollow> fansPage = userFollowService.getFansPage(pageForm.getPage(), pageForm.getSize(),userId);
PageVO<UserFollow> fansPageVo = new PageVO<>(fansPage); PageDTO<UserFollow> fansPageDTO = new PageDTO<>(fansPage);
return Response.success(fansPageVo); return Response.success(fansPageDTO);
} }
...@@ -321,20 +322,18 @@ public class UserApi { ...@@ -321,20 +322,18 @@ public class UserApi {
public Response myFollower(@Valid PageForm pageForm, @CurrentSubject Subject subject){ public Response myFollower(@Valid PageForm pageForm, @CurrentSubject Subject subject){
// 根据userId获取关注列表并返回 // 根据userId获取关注列表并返回
IPage<UserFollow> followersPage = userFollowService.getFollowersPage(pageForm.getPage(), pageForm.getSize(), String.valueOf(subject.getId())); PageDTO<UserInfoWithStatisticsDTO> followedPage = userFollowService.getFollowedPage(pageForm.getPage(), pageForm.getSize(), String.valueOf(subject.getId()));
PageVO<UserFollow> followersPageVo = new PageVO<>(followersPage); return Response.success(followedPage);
return Response.success(followersPageVo);
} }
@Anonymous @Anonymous
@ApiOperation(("获取他人关注")) @ApiOperation(("获取他人关注"))
@GetMapping("/user/{userId}/follower") @GetMapping("/user/{userId}/follower")
public Response otherFollower(@Valid PageForm pageForm, @PathVariable(name = "userId") String userId){ public Response<PageDTO<UserInfoWithStatisticsDTO>> otherFollower(@Valid PageForm pageForm, @PathVariable(name = "userId") String userId){
// 根据userId获取关注列表并返回 // 根据userId获取关注列表并返回
IPage<UserFollow> followersPage = userFollowService.getFollowersPage(pageForm.getPage(), pageForm.getSize(), userId); PageDTO followedPage = userFollowService.getFollowedPage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<UserFollow> followersPageVo = new PageVO<>(followersPage); return Response.success(followedPage);
return Response.success(followersPageVo);
} }
......
package cn.meteor.beyondclouds.modules.user.dto;
import cn.meteor.beyondclouds.modules.user.entity.UserStatistics;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author meteor
*/
@Data
public class UserInfoWithStatisticsDTO {
private String userId;
private String userNick;
private String userAvatar;
private UserStatistics statistics;
}
package cn.meteor.beyondclouds.modules.user.service; package cn.meteor.beyondclouds.modules.user.service;
import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoWithStatisticsDTO;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow; import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.io.Serializable;
import java.util.Set; import java.util.Set;
...@@ -49,7 +50,7 @@ public interface IUserFollowService extends IService<UserFollow> { ...@@ -49,7 +50,7 @@ public interface IUserFollowService extends IService<UserFollow> {
* @param userId * @param userId
* @return * @return
*/ */
IPage<UserFollow> getFollowersPage(Integer pageNumber, Integer pageSize, String userId); PageDTO<UserInfoWithStatisticsDTO> getFollowedPage(Integer pageNumber, Integer pageSize, String userId);
/** /**
* 获取当前用户关注的所有用户的ID * 获取当前用户关注的所有用户的ID
......
package cn.meteor.beyondclouds.modules.user.service.impl; package cn.meteor.beyondclouds.modules.user.service.impl;
import cn.meteor.beyondclouds.common.dto.PageDTO;
import cn.meteor.beyondclouds.common.helper.IRedisHelper; import cn.meteor.beyondclouds.common.helper.IRedisHelper;
import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage; import cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage;
import cn.meteor.beyondclouds.core.queue.message.DataItemType; import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.core.redis.RedisKey; import cn.meteor.beyondclouds.core.redis.RedisKey;
import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService; import cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService;
import cn.meteor.beyondclouds.modules.user.dto.UserInfoWithStatisticsDTO;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist; import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow; import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
import cn.meteor.beyondclouds.modules.user.entity.UserStatistics;
import cn.meteor.beyondclouds.modules.user.enums.UserErrorCode; import cn.meteor.beyondclouds.modules.user.enums.UserErrorCode;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import cn.meteor.beyondclouds.modules.user.mapper.UserFollowMapper; import cn.meteor.beyondclouds.modules.user.mapper.UserFollowMapper;
import cn.meteor.beyondclouds.modules.user.service.IUserBlacklistService; import cn.meteor.beyondclouds.modules.user.service.IUserBlacklistService;
import cn.meteor.beyondclouds.modules.user.service.IUserFollowService; import cn.meteor.beyondclouds.modules.user.service.IUserFollowService;
import cn.meteor.beyondclouds.modules.user.service.IUserService; import cn.meteor.beyondclouds.modules.user.service.IUserService;
import cn.meteor.beyondclouds.modules.user.service.IUserStatisticsService;
import cn.meteor.beyondclouds.util.PageUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -22,7 +27,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -22,7 +27,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.Set; import java.util.*;
import java.util.stream.Collectors;
/** /**
...@@ -36,6 +42,7 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol ...@@ -36,6 +42,7 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol
private IUserBlacklistService userBlacklistService; private IUserBlacklistService userBlacklistService;
private IRedisHelper redisHelper; private IRedisHelper redisHelper;
private IMessageQueueService messageQueueService; private IMessageQueueService messageQueueService;
private IUserStatisticsService userStatisticsService;
@Autowired @Autowired
public void setRedisHelper(IRedisHelper redisHelper) { public void setRedisHelper(IRedisHelper redisHelper) {
...@@ -43,6 +50,11 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol ...@@ -43,6 +50,11 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol
} }
@Autowired @Autowired
public void setUserStatisticsService(IUserStatisticsService userStatisticsService) {
this.userStatisticsService = userStatisticsService;
}
@Autowired
public UserFollowServiceImpl(IUserBlacklistService userBlacklistService) { public UserFollowServiceImpl(IUserBlacklistService userBlacklistService) {
this.userBlacklistService = userBlacklistService; this.userBlacklistService = userBlacklistService;
} }
...@@ -182,12 +194,49 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol ...@@ -182,12 +194,49 @@ public class UserFollowServiceImpl extends ServiceImpl<UserFollowMapper, UserFol
* @return * @return
*/ */
@Override @Override
public IPage<UserFollow> getFollowersPage(Integer pageNumber, Integer pageSize, String userId) { public PageDTO<UserInfoWithStatisticsDTO> getFollowedPage(Integer pageNumber, Integer pageSize, String userId) {
// 1.获取所有的关注
IPage<UserFollow> page = new Page<>(pageNumber, pageSize); IPage<UserFollow> page = new Page<>(pageNumber, pageSize);
QueryWrapper<UserFollow> userFollowQueryWrapper = new QueryWrapper<>(); QueryWrapper<UserFollow> userFollowQueryWrapper = new QueryWrapper<>();
userFollowQueryWrapper.eq("follower_id", userId); userFollowQueryWrapper.eq("follower_id", userId);
userFollowQueryWrapper.eq("follow_status", 0); userFollowQueryWrapper.eq("follow_status", 0);
return page(page, userFollowQueryWrapper); IPage<UserFollow> userFollowPage = page(page, userFollowQueryWrapper);
List<UserFollow> userFollowList = userFollowPage.getRecords();
// 2.查询关注的用户的统计信息并填充到userInfoWithStatisticsDTOList里面
List<UserInfoWithStatisticsDTO> userInfoWithStatisticsDTOList;
if (!CollectionUtils.isEmpty(userFollowList)) {
List<String> followedUserIds = userFollowList.stream()
.map(UserFollow::getFollowedId).collect(Collectors.toList());
List<UserStatistics> userStatisticsList = userStatisticsService.listByIds(followedUserIds);
Map<String, UserStatistics> userStatisticsMap = userStatisticsList.stream()
.collect(Collectors.toMap(
UserStatistics::getUserId,
userStatistics -> userStatistics
));
userInfoWithStatisticsDTOList = userFollowList.stream()
.map(userFollow -> {
UserInfoWithStatisticsDTO userInfoWithStatisticsDTO = new UserInfoWithStatisticsDTO();
String followedId = userFollow.getFollowedId();
userInfoWithStatisticsDTO.setUserId(followedId);
userInfoWithStatisticsDTO.setUserNick(userFollow.getFollowedNick());
userInfoWithStatisticsDTO.setUserAvatar(userFollow.getFollowedAvatar());
userInfoWithStatisticsDTO.setStatistics(userStatisticsMap.get(followedId));
return userInfoWithStatisticsDTO;
}).collect(Collectors.toList());
} else {
userInfoWithStatisticsDTOList = List.of();
}
// 3.转换分页并返回
PageDTO<UserInfoWithStatisticsDTO> pageDTO = new PageDTO<>();
PageUtils.copyMeta(userFollowPage, pageDTO);
pageDTO.setDataList(userInfoWithStatisticsDTOList);
return pageDTO;
} }
@Override @Override
......
package cn.meteor.beyondclouds.modules.user.vo;
import cn.meteor.beyondclouds.modules.user.entity.UserStatistics;
import lombok.Data;
/**
* @author meteor
*/
@Data
public class UserStatisticsVO {
private String userId;
private String userNick;
private String userAvatar;
private UserStatistics statistics;
}
package cn.meteor.beyondclouds.util; package cn.meteor.beyondclouds.util;
import cn.meteor.beyondclouds.common.vo.PageVO; import cn.meteor.beyondclouds.common.dto.PageDTO;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -19,7 +19,7 @@ public class PageUtils { ...@@ -19,7 +19,7 @@ public class PageUtils {
return page; return page;
} }
public static void copyMeta(IPage<?> src, PageVO<?> dest) { public static void copyMeta(IPage<?> src, PageDTO<?> dest) {
dest.setTotalPage(src.getPages()); dest.setTotalPage(src.getPages());
dest.setPageSize(src.getSize()); dest.setPageSize(src.getSize());
dest.setTotalRecords(src.getTotal()); dest.setTotalRecords(src.getTotal());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment