diff --git a/src/main/java/cc/ryanc/halo/model/domain/Comment.java b/src/main/java/cc/ryanc/halo/model/domain/Comment.java index fe7de959f..4c91b860f 100644 --- a/src/main/java/cc/ryanc/halo/model/domain/Comment.java +++ b/src/main/java/cc/ryanc/halo/model/domain/Comment.java @@ -77,9 +77,7 @@ public class Comment implements Serializable { /** * 上一级 */ - //@OneToOne - //@JoinColumn(name = "comment_id") - //private Comment commentParent; + private Long commentParent = 0L; /** * 评论状态,0:正常,1:待审核,2:回收站 diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/CommentController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/CommentController.java index d28b34264..886fdb6d8 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/CommentController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/CommentController.java @@ -1,10 +1,12 @@ package cc.ryanc.halo.web.controller.admin; import cc.ryanc.halo.model.domain.Comment; +import cc.ryanc.halo.model.domain.Post; import cc.ryanc.halo.model.dto.HaloConst; import cc.ryanc.halo.service.CommentService; import cc.ryanc.halo.service.MailService; import cc.ryanc.halo.service.UserService; +import cc.ryanc.halo.util.HaloUtil; import cc.ryanc.halo.web.controller.BaseController; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -15,11 +17,14 @@ import org.springframework.data.domain.Sort; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.websocket.server.PathParam; +import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -151,4 +156,43 @@ public class CommentController extends BaseController{ } return "redirect:/admin/comments?status="+status; } + + + /** + * 管理员回复评论 + * + * @param commentId 被回复的评论 + * @param commentContent 回复的内容 + * @return string + */ + @PostMapping("/reply") + public String replyComment(@RequestParam("commentId") Long commentId, + @RequestParam("postId") Long postId, + @RequestParam("commentContent") String commentContent, + @RequestParam("userAgent") String userAgent, + HttpServletRequest request){ + try { + Post post = new Post(); + post.setPostId(postId); + + //保存评论 + Comment comment = new Comment(); + comment.setPost(post); + comment.setCommentAuthor(userService.findAllUser().get(0).getUserDisplayName()); + comment.setCommentAuthorEmail(userService.findAllUser().get(0).getUserEmail()); + comment.setCommentAuthorUrl(HaloConst.OPTIONS.get("site_url")); + comment.setCommentAuthorIp(HaloUtil.getIpAddr(request)); + comment.setCommentAuthorAvatarMd5(HaloUtil.getMD5(userService.findAllUser().get(0).getUserEmail())); + comment.setCommentDate(new Date()); + String at = "@"+commentService.findCommentById(commentId).get().getCommentAuthor()+""; + comment.setCommentContent(at+commentContent); + comment.setCommentAgent(userAgent); + comment.setCommentParent(commentId); + comment.setCommentStatus(0); + commentService.saveByComment(comment); + }catch (Exception e){ + log.error("回复评论失败!"+e.getMessage()); + } + return "redirect:/admin/comments"; + } } diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 03b9151eb..c1a4e0475 100755 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,6 +1,6 @@ # 端口配置 server: - port: 8080 + port: 8090 spring: # 数据源配置 使用druid数据源 datasource: diff --git a/src/main/resources/templates/admin/admin_comment.ftl b/src/main/resources/templates/admin/admin_comment.ftl index a12bfaac8..387fab348 100755 --- a/src/main/resources/templates/admin/admin_comment.ftl +++ b/src/main/resources/templates/admin/admin_comment.ftl @@ -56,7 +56,7 @@ <#switch comment.commentStatus> <#case 0> - + <#break > <#case 1> @@ -90,7 +90,7 @@ -