评论功能
对于已经发布的新闻,用户应该可以对其进行评论,同时我们也应当设置评论可以被评论的功能,这样整个评论功能可以说的比较完善了。
1.设计评论的实体类,因为要可以回复评论,所以设置了父评论这一选项
public class Comment {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nickname;
private String email;
private String content;
private String avatar;
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@ManyToOne
private News news;
@OneToMany(mappedBy = "parentComment")
private List<Comment> replyComments=new ArrayList<>();
@ManyToOne
private Comment parentComment;
private boolean adminComment;
}
2.service层内设计出展示评论、保存发布自己的评论方法接口
public interface CommentService {
List<Comment> listCommentByNewId(Long newId);
Comment saveComment(Comment comment);
}
3.在impl内实现
@Service
public class CommentServiceImpl implements CommentService {
@Autowired
private CommentRepository commentRepository;
@Override
public List<Comment> listCommentByNewId(Long newId) {
Sort sort=Sort.by("createTime");
List<Comment> comments=commentRepository.findByNewsIdAndParentCommentNull(newId,sort);
return eachComment(comments);
}
private List