• 设计二级评论记录


    效果图:

    数据库设计

     实体类:

    @Data
    @EqualsAndHashCode(callSuper = false)
    public class Comment implements Serializable {
    
        private static final long serialVersionUID = 1L;
        private Integer commentId; //评论的ID
        private String content;
        @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
        private Date createTime;
        private Integer userId;
        private Integer infoId;
        private Integer parentId;
        private String truename;
        private String replyName; //回复目标名字
        private String headImgUrl;
        private Integer replyUserId;
        private List<User> users;
        List<Comment> child; //回复或者子评论
    
    
    }

    服务层:(有参考,由于搜了好多,忘记参考哪位大神的了,抱歉!!!)

    public List<Comment> getComments(Integer infoId){
           //找到所有评论
           List<Comment> allcomments=commentMapper.getComments(infoId);
          //为空,new一个
           if(allcomments==null||allcomments.size()==0){
               return  new ArrayList<>();
           }
           List<Comment> comments=new ArrayList<>();
           List<Comment> parents=new ArrayList<>();
           //遍历评论
           for(Comment comment : allcomments){
               //是否为父评论
               if(comment.getParentId()==null){
                   comments.add(comment);
                   parents.add(comment);
               }else {
                   boolean foundParent=false;
                   //找出replyuserid对应的用户信息
                   User user=userMapper.getUserById(comment.getReplyUserId());
                   //把名字赋予
                   comment.setReplyName(user.getTruename());
    
                   for(Comment parent : parents){
                       if (comment.getParentId()==parent.getCommentId()){
                           if (parent.getChild()==null){
                               parent.setChild(new ArrayList<>());
    
                           }
                           parent.getChild().add(comment);
                           parents.add(comment);
                           foundParent=true;
                           break;
                       }
                   }
    
               }
           }
    
           return comments;
        }

    thymeleaf前端:

     

    不经一番彻骨寒,哪有梅花扑鼻香?
  • 相关阅读:
    C#的委托事件总结
    iOS的录屏功能
    Unity通过NTP获取网络时间
    Unity的弱联网Json数据传输
    Unity场景和代码合并以及UnityYAMLMerge的使用
    Unity学习--捕鱼达人笔记
    Yomob广告在cocos2dx安卓平台的Demo
    谷歌广告Admob在cocos2dx上通过回调实现底部Banner
    JZ2440 裸机驱动 第13章 LCD控制器(2)
    JZ2440 裸机驱动 第13章 LCD控制器(1)
  • 原文地址:https://www.cnblogs.com/zongyao/p/13831132.html
Copyright © 2020-2023  润新知