From f557cd3c7c1d981e23ed6b8220c8d8c4906a7e27 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 07 12월 2021 19:30:47 +0900 Subject: [PATCH] - 사용자 필드 기능 수정 - 이슈 추가/수정시 워크플로우에 설정된 담당부서로 변경되도록 수정 * DB 초기화 필요 --- src/main/java/kr/wisestone/owl/web/controller/ApiController.java | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 38 insertions(+), 9 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 ed640c5..7033cf2 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/ApiController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/ApiController.java @@ -1,9 +1,12 @@ package kr.wisestone.owl.web.controller; import kr.wisestone.owl.constant.Constants; -import kr.wisestone.owl.service.GuideService; -import kr.wisestone.owl.web.condition.GuideCondition; -import kr.wisestone.owl.web.form.GuideForm; +import kr.wisestone.owl.constant.MsgConstants; +import kr.wisestone.owl.domain.Issue; +import kr.wisestone.owl.exception.OwlRuntimeException; +import kr.wisestone.owl.service.IssueService; +import kr.wisestone.owl.util.ConvertUtil; +import kr.wisestone.owl.web.form.IssueApiForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.http.MediaType; @@ -12,30 +15,56 @@ 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.List; import java.util.Map; @Controller public class ApiController extends BaseController { @Autowired - private GuideService guideService; + private IssueService issueService; - // �씠�뒋 異붽� - @RequestMapping(value = "/api/add", produces = MediaType.APPLICATION_JSON_VALUE) + // �씠�뒋 異붽�(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); +// } + @RequestMapping(value = "api/issue", method = RequestMethod.POST) public @ResponseBody - Map<String, Object> add(@RequestBody Map<String, Map<String, Object>> params) { + Map<String, Object> addIssue(MultipartHttpServletRequest request) throws OwlRuntimeException, CloneNotSupportedException { Map<String, Object> resJsonData = new HashMap<>(); - // todo + IssueApiForm issueForm = IssueApiForm.make(ConvertUtil.convertJsonToMap(request.getParameter(Constants.REQ_KEY_CONTENT)), request.getFiles("file")); + if (issueForm == null) { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_PARAMETER_ERROR)); + } + if (issueForm.getApiType() == IssueApiForm.ApiType.add) { + List<Issue> issues = this.issueService.addApiIssue(issueForm); + // 踰꾩쟾 �깮�꽦 + for (Issue issue : issues) { + this.issueService.addIssueVersion(issue.getId()); + } + } else { + this.issueService.modifyIssue(issueForm, request.getFiles("file")); + } return this.setSuccessMessage(resJsonData); } // �씠�뒋 議고쉶 - @RequestMapping(value = "/api/find", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + @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) { -- Gitblit v1.8.0