From b7d8bfbe09547aa2df1366c6ff8867cea5d64fab Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 수, 05 1월 2022 11:08:39 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/java/kr/wisestone/owl/web/controller/ApiController.java | 87 +++++++++++++++++++++++-------------------- 1 files changed, 46 insertions(+), 41 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/web/controller/ApiController.java b/src/main/java/kr/wisestone/owl/web/controller/ApiController.java index b8c060c..fb90cfd 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/ApiController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/ApiController.java @@ -1,76 +1,81 @@ package kr.wisestone.owl.web.controller; import kr.wisestone.owl.constant.Constants; +import kr.wisestone.owl.constant.MsgConstants; import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.exception.OwlRuntimeException; -import kr.wisestone.owl.service.GuideService; import kr.wisestone.owl.service.IssueService; import kr.wisestone.owl.util.ConvertUtil; -import kr.wisestone.owl.util.MapUtil; -import kr.wisestone.owl.web.condition.GuideCondition; -import kr.wisestone.owl.web.form.GuideForm; import kr.wisestone.owl.web.form.IssueApiForm; -import kr.wisestone.owl.web.form.IssueForm; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Pageable; -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.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartHttpServletRequest; import java.util.HashMap; -import java.util.Map; -import java.util.ArrayList; import java.util.List; -import java.util.Optional; -import java.util.Stack; +import java.util.Map; +/** + * OWL-API 而⑦듃濡ㅻ윭 + */ @Controller public class ApiController extends BaseController { @Autowired private IssueService issueService; - // �씠�뒋 異붽�(json 諛⑹떇�쑝濡� �뙆�씪�쟾�넚) -// @RequestMapping(value = "api/issue", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) -// public -// @ResponseBody -// Map<String, Object> addIssue(@RequestBody Map<String, Map<String, Object>> params) { -// Map<String, Object> resJsonData = new HashMap<>(); -// -// IssueApiForm issueForm = IssueApiForm.make(params.get(Constants.REQ_KEY_CONTENT)); -// Issue issue = this.issueService.addApiIssue(issueForm); -// // 踰꾩쟾 �깮�꽦 -// this.issueService.addIssueVersion(issue.getId()); -// return this.setSuccessMessage(resJsonData); -// } + + /** + * @param request multipart/form-data 濡� �슂泥��빐�빞 �븿 + * @return Json �쑝濡� 寃곌낵媛� �쟾�넚 + * @throws OwlRuntimeException 二쇰줈�뙆�씪誘명꽣 �삤瑜� 泥댄겕�떆 諛쒖깮 + * @throws CloneNotSupportedException 媛앹껜 蹂듭궗�븷 �븣 諛쒖깮 + */ @RequestMapping(value = "api/issue", method = RequestMethod.POST) public @ResponseBody - Map<String, Object> addIssue(MultipartHttpServletRequest request) throws OwlRuntimeException { + Map<String, Object> addIssue(MultipartHttpServletRequest request) throws OwlRuntimeException, CloneNotSupportedException { Map<String, Object> resJsonData = new HashMap<>(); - IssueApiForm issueForm = IssueApiForm.make(ConvertUtil.convertJsonToMap(request.getParameter(Constants.REQ_KEY_CONTENT)), request.getFiles("file")); - Issue issue = this.issueService.addApiIssue(issueForm); - // 踰꾩쟾 �깮�꽦 - this.issueService.addIssueVersion(issue.getId()); + String str = request.getParameter(Constants.REQ_KEY_CONTENT); + + IssueApiForm issueForm = IssueApiForm.make(ConvertUtil.convertJsonToMap(str), request.getFiles("file")); + if (issueForm == null) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_PARAMETER_ERROR)); + } + // �궗�슜�옄 �젙�쓽 �븘�뱶媛� �뾾�쓣 寃쎌슦 寃��깋�쓣 �븷 �닔 �뾾湲� �븣臾몄뿉 �삁�쇅泥섎━ + else if (issueForm.getCustomFieldValues() == null || issueForm.getCustomFieldValues().size() == 0) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_CUSTOM_FIELD_NOT_EXIST)); + } + + if (issueForm.getApiType() == IssueApiForm.ApiType.add) { + List<Issue> issues = this.issueService.addApiIssue(issueForm); + // 踰꾩쟾 �깮�꽦 + for (Issue issue : issues) { + this.issueService.addIssueVersion(issue.getId(), issue.getRegisterId()); + } + } else { + + + this.issueService.modifyIssue(issueForm, request.getFiles("file")); + } + return this.setSuccessMessage(resJsonData); } // �씠�뒋 議고쉶 - @RequestMapping(value = "/api/issueList", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) - public - @ResponseBody - Map<String, Object> find(@RequestBody Map<String, Map<String, Object>> params) { - Map<String, Object> resJsonData = new HashMap<>(); - Pageable pageable = this.pageUtil.convertPageable(this.getPageVo(params)); - - // todo - - return this.setSuccessMessage(resJsonData); - } +// @RequestMapping(value = "/api/issueList", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) +// public +// @ResponseBody +// Map<String, Object> find(@RequestBody Map<String, Map<String, Object>> params) { +// Map<String, Object> resJsonData = new HashMap<>(); +// Pageable pageable = this.pageUtil.convertPageable(this.getPageVo(params)); +// +// // todo +// return this.setSuccessMessage(resJsonData); +// } } -- Gitblit v1.8.0