package xyz.fortern.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.SessionAttribute; import xyz.fortern.pojo.Reply; import xyz.fortern.pojo.User; import xyz.fortern.service.ReplyService; import xyz.fortern.util.PageInfo; @Slf4j @Controller @RequestMapping("/reply") public class ReplyController { private final ReplyService replyService; public ReplyController(ReplyService replyService) { this.replyService = replyService; } /** * 获取某评论下的所有回复 * * @param cid 评论id * @param page 页码 * @param orderByTime 时间排序规则,false旧的在前,true新的在前 * @return 一页评论信息 */ @GetMapping("/comment/{cid}") public ResponseEntity> getByCommentId(@PathVariable int cid, Integer page, boolean orderByTime) { return ResponseEntity.ok(replyService.getByCommentId(cid, page, 10, orderByTime)); } /** * 添加一条评论 * * @param cid 所属评论的id * @param rid 回复的那条回复的id * @param content 回复内容 * @param user 操作用户 * @return 操作结果 */ //TODO 改变获取用户Id的方式 @PostMapping("/new/{cid}") public ResponseEntity addNewReply(@PathVariable int cid, @RequestParam(required = false) Integer rid, @RequestParam String content, @SessionAttribute("user") User user) { var reply = Reply.builder().cid(cid).rid(rid).uid(user.getId()).content(content).build(); replyService.addNewReply(reply); return ResponseEntity.ok(reply); } }