package kr.wisestone.owl.web.controller; import kr.wisestone.owl.constant.Constants; import kr.wisestone.owl.service.IssueCommentService; import kr.wisestone.owl.vo.IssueCommentVo; import kr.wisestone.owl.web.form.IssueCommentForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller public class IssueCommentController extends BaseController { @Autowired private IssueCommentService issueCommentService; // 댓글 등록 @RequestMapping(value = "issueComment/add", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map add(@RequestBody Map> params) throws ClassNotFoundException { Map resJsonData = new HashMap<>(); this.issueCommentService.addIssueComment(IssueCommentForm.make(params.get(Constants.REQ_KEY_CONTENT))); return this.setSuccessMessage(resJsonData); } // 댓글 삭제 @RequestMapping(value= "issueComment/remove", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map removes(@RequestBody Map> params) throws ClassNotFoundException { Map resJsonData = new HashMap<>(); this.issueCommentService.removeIssueComments(IssueCommentForm.make(params.get(Constants.REQ_KEY_CONTENT))); return this.setSuccessMessage(resJsonData); } // 댓글 목록 조회 @RequestMapping(value= "issueComment/find", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map find(@RequestBody Map> params) throws ClassNotFoundException { Map resJsonData = new HashMap<>(); IssueCommentForm issueCommentForm = IssueCommentForm.make(params.get(Constants.REQ_KEY_CONTENT)); List issueCommentVos = this.issueCommentService.findIssueComment(issueCommentForm.getIssueId()); resJsonData.put(Constants.RES_KEY_CONTENTS, issueCommentVos); return this.setSuccessMessage(resJsonData); } }