对博客进行了优化置顶,收藏,热度等操作
This commit is contained in:
@@ -5,17 +5,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.quinn.pojo.Blog;
|
||||
import com.quinn.pojo.BlogCategory;
|
||||
import com.quinn.pojo.BlogStar;
|
||||
import com.quinn.pojo.Comment;
|
||||
import com.quinn.service.BlogCategoryService;
|
||||
import com.quinn.service.BlogService;
|
||||
import com.quinn.service.BlogStarService;
|
||||
import com.quinn.service.CommentService;
|
||||
import com.quinn.utils.QuinnUtils;
|
||||
import com.quinn.vo.BlogStarReq;
|
||||
import com.quinn.vo.QuestionWriteForm;
|
||||
import com.quinn.vo.StarValue;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -27,7 +36,7 @@ import java.util.List;
|
||||
* @since 2020-06-29
|
||||
*/
|
||||
@Controller
|
||||
public class BlogController {
|
||||
public class BlogController extends BaseModelController{
|
||||
|
||||
@Autowired
|
||||
BlogCategoryService blogCategoryService;
|
||||
@@ -35,18 +44,23 @@ public class BlogController {
|
||||
BlogService blogService;
|
||||
@Autowired
|
||||
CommentService commentService;
|
||||
@Resource
|
||||
BlogStarService blogStarService;
|
||||
|
||||
// 列表展示
|
||||
@GetMapping("/blog")
|
||||
public String blogList(Model model){
|
||||
|
||||
Page<Blog> pageParam = new Page<>(1, 10);
|
||||
blogService.page(pageParam,new QueryWrapper<Blog>().orderByDesc("gmt_create"));
|
||||
blogService.page(pageParam,new QueryWrapper<Blog>().orderByDesc("sort").orderByDesc("gmt_create"));
|
||||
// 结果
|
||||
List<Blog> blogList = pageParam.getRecords();
|
||||
model.addAttribute("blogList",blogList);
|
||||
model.addAttribute("pageParam",pageParam);
|
||||
|
||||
List<Blog> topBlogList = blogService.getTopBlog();
|
||||
model.addAttribute("topBlogList",topBlogList);
|
||||
|
||||
// 分类信息
|
||||
List<BlogCategory> categoryList = blogCategoryService.list(null);
|
||||
model.addAttribute("categoryList",categoryList);
|
||||
@@ -64,13 +78,16 @@ public class BlogController {
|
||||
page = 1;
|
||||
}
|
||||
Page<Blog> pageParam = new Page<>(page, limit);
|
||||
blogService.page(pageParam,new QueryWrapper<Blog>().orderByDesc("gmt_create"));
|
||||
blogService.page(pageParam,new QueryWrapper<Blog>().orderByDesc("sort").orderByDesc("gmt_create"));
|
||||
|
||||
// 结果
|
||||
List<Blog> blogList = pageParam.getRecords();
|
||||
model.addAttribute("blogList",blogList);
|
||||
model.addAttribute("pageParam",pageParam);
|
||||
|
||||
List<Blog> topBlogList = blogService.getTopBlog();
|
||||
model.addAttribute("topBlogList",topBlogList);
|
||||
|
||||
// 分类信息
|
||||
List<BlogCategory> categoryList = blogCategoryService.list(null);
|
||||
model.addAttribute("categoryList",categoryList);
|
||||
@@ -115,16 +132,52 @@ public class BlogController {
|
||||
|
||||
// 阅读文章
|
||||
@GetMapping("/blog/read/{bid}")
|
||||
public String read(@PathVariable("bid") String bid,Model model){
|
||||
public String read(HttpServletRequest request, @PathVariable("bid") String bid, Model model){
|
||||
Blog blog = blogService.getOne(new QueryWrapper<Blog>().eq("bid", bid));
|
||||
blog.setViews(blog.getViews()+1);
|
||||
blogService.updateById(blog);
|
||||
model.addAttribute("blog",blog);
|
||||
|
||||
StarValue starValue = new StarValue();
|
||||
starValue.setStar(false);
|
||||
String loginUserId = getLoginUserId(request);
|
||||
if (!StringUtils.isEmpty(loginUserId)){
|
||||
List<BlogStar> stars = blogStarService.list(new QueryWrapper<BlogStar>().eq("user_id", loginUserId));
|
||||
if (!CollectionUtils.isEmpty(stars)){
|
||||
starValue.setStar(true);
|
||||
}
|
||||
}
|
||||
model.addAttribute("starValue",starValue);
|
||||
|
||||
List<Comment> commentList = commentService.list(new QueryWrapper<Comment>().eq("topic_id", bid).orderByDesc("gmt_create"));
|
||||
model.addAttribute("commentList",commentList);
|
||||
return "blog/read";
|
||||
}
|
||||
|
||||
// 收藏
|
||||
@PostMapping("/blog/star")
|
||||
public synchronized String toStar(BlogStarReq blogStarReq, Model model){
|
||||
StarValue starValue = new StarValue();
|
||||
starValue.setStar(false);
|
||||
List<BlogStar> list = blogStarService.list(new QueryWrapper<BlogStar>()
|
||||
.eq("user_id", blogStarReq.getUserId()).eq("topic_id", blogStarReq.getTopicId()));
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
list.forEach(x->{
|
||||
blogStarService.removeById(x);
|
||||
});
|
||||
starValue.setStar(false);
|
||||
} else {
|
||||
BlogStar blogStar = new BlogStar();
|
||||
blogStar.setTopicId(blogStarReq.getTopicId());
|
||||
blogStar.setUserId(blogStarReq.getUserId());
|
||||
blogStar.setGmtCreate(QuinnUtils.getTime());
|
||||
blogStarService.save(blogStar);
|
||||
starValue.setStar(true);
|
||||
}
|
||||
model.addAttribute("starValue",starValue);
|
||||
return "blog/read::star_refresh";
|
||||
}
|
||||
|
||||
// 编辑问题
|
||||
@GetMapping("/blog/editor/{uid}/{bid}")
|
||||
public synchronized String toEditor(@PathVariable("uid") String uid,
|
||||
@@ -188,8 +241,5 @@ public class BlogController {
|
||||
return "redirect:/blog/read/"+bid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user