1. 程式人生 > 實用技巧 >使用springboot整合mybatis-plus實現點贊功能

使用springboot整合mybatis-plus實現點贊功能

表結構如下

文章表

點贊記錄表

member_id 等於上面的發表人的id

whether_attention:是否點贊 0代表沒點贊 代表已點贊

service

1.首先寫個新增點贊記錄介面 與 取消點贊記錄介面 和 查詢點贊記錄的介面(根據發表人id和文章id查詢)

點贊記錄介面:新增的的whether_attention為1 代表已點贊

取消點贊介面:根據文章id修改whether_attention為0 代表取消點贊

這兩個介面使用mybatis-pius實現的話,很簡單,這裡就不粘程式碼了哈,需要請留言就好。

查詢點贊記錄的介面:根據發表人id和文章id查詢進行查詢,查詢whether_attention為1的資料,代表已點贊。

controller

@ApiOperation("文章點贊")
    @PostMapping("articleLike")
    public AjaxResult addUpdateLikeArticles(@RequestBody LikeArticles likeArticles) {
        //查詢文章詳情
        Articles article = articlesService.selectArticlesById(Long.valueOf(likeArticles.getArticleId()));
        if (article == null
) { return AjaxResult.error(); } try {//查詢文章點贊記錄 根據發表人id和文章id查詢進行查詢 LikeArticles articlesLikeArticles = likeArticlesService.selectMemberByMemberId(likeArticles.getMemberId, likeArticles.getArticleId()); //判斷點贊記錄是否為空,如何不為空就取消點贊 並且點贊-1; 如果為空就新增點贊進行點贊+1操作
if (articlesLikeArticles != null) { //取消點贊 Long likeCount = article.getLikeCount() - 1; article.setLikeCount(likeCount < 0 ? 0 : likeCount); articlesService.updateArticles(article); //取消點贊記錄 likeArticlesService.updateLikeArticles(likeArticles); } else { //新增點贊 article.setLikeCount(article.getLikeCount() + 1); articlesService.updateArticles(article); //新增點贊記錄 likeArticlesService.saveLikeArticles(likeArticles); } return AjaxResult.success(); } catch (Exception e) { e.printStackTrace(); return AjaxResult.error(); } }

無論是點贊,收藏、關注都可以參考下這種方法來實現,要是業務比較複雜的話,那就另想辦法了哈。

有問題請留言,有錯誤請指出哈。