From ebfd37816a332308519b30af5bfb017c5052be69 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 13 1월 2022 17:34:35 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/web/controller/Api/ApiController.java |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/web/controller/Api/ApiController.java b/src/main/java/kr/wisestone/owl/web/controller/Api/ApiController.java
index c0e3290..2f91fb8 100644
--- a/src/main/java/kr/wisestone/owl/web/controller/Api/ApiController.java
+++ b/src/main/java/kr/wisestone/owl/web/controller/Api/ApiController.java
@@ -1,7 +1,9 @@
 package kr.wisestone.owl.web.controller.Api;
 
 import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import kr.wisestone.owl.constant.Constants;
 import kr.wisestone.owl.constant.MsgConstants;
 import kr.wisestone.owl.domain.Issue;
 import kr.wisestone.owl.exception.ApiParameterException;
@@ -46,11 +48,21 @@
      */
     @PostMapping(value = "/issue")
     @ApiOperation(value = "�씠�뒋 異붽�", notes = "�깉濡쒖슫 �씠�뒋瑜� 異붽��븳�떎.")
-    @ApiImplicitParam(name = "files", dataType = "file")
+    @ApiImplicitParams(
+            {
+                    @ApiImplicitParam(name = "files", dataType = "file"),
+                    @ApiImplicitParam(name = "token", paramType = "form"),
+                    @ApiImplicitParam(name = "title", paramType = "form"),
+                    @ApiImplicitParam(name = "description", paramType = "form"),
+                    @ApiImplicitParam(name = "issueTypeId", paramType = "form"),
+                    @ApiImplicitParam(name = "customFields", paramType = "form")
+            }
+    )
+
     @ResponseStatus(HttpStatus.CREATED)
     public
     @ResponseBody
-    void addIssue(ApiIssueAddForm apiIssueAddForm, @RequestParam("files") List<MultipartFile> files)
+    Map<String, Object> addIssue(ApiIssueAddForm apiIssueAddForm, @RequestParam("files") List<MultipartFile> files)
             throws OwlRuntimeException, CloneNotSupportedException {
         Map<String, Object> resJsonData = new HashMap<>();
 
@@ -66,9 +78,16 @@
 
         List<Issue> issues = this.issueService.addApiIssue(issueApiForm);
         //  踰꾩쟾 �깮�꽦
+        StringBuilder sb = new StringBuilder();
         for (Issue issue : issues) {
             this.issueService.addIssueVersion(issue.getId(), issue.getRegisterId());
+            if (sb.length() > 0)
+                sb.append(",");
+            sb.append(issue.getProject().getProjectKey()).append("-").append(issue.getIssueNumber());
         }
+
+        resJsonData.put(Constants.RES_KEY_MSG_SUCCESS, sb.toString());
+        return resJsonData;
     }
 
     /**
@@ -78,23 +97,32 @@
      * @throws OwlRuntimeException �뙆�씪誘명꽣 �삤瑜섏떆 諛쒖깮
      * @throws CloneNotSupportedException �씠�뒋 蹂듭궗 �떆�뿉 諛쒖깮
      */
-    @PutMapping(value = "/issue")
+    @PostMapping(value = "/issue/status")
     @ApiOperation(value = "�씠�뒋 �긽�깭 �닔�젙", notes = "�궗�슜�옄 �젙�쓽 �븘�뱶媛� �룞�씪�븳 湲곗〈 �씠�뒋瑜� 蹂�寃쏀븳�떎.")
     @ResponseStatus(HttpStatus.OK)
     public
     @ResponseBody
-    void modifyIssue(ApiIssueModifyForm apiIssueModifyForm) throws OwlRuntimeException, CloneNotSupportedException {
+    Map<String, Object> modifyIssue(ApiIssueModifyForm apiIssueModifyForm) throws OwlRuntimeException, CloneNotSupportedException {
         Map<String, Object> resJsonData = new HashMap<>();
-
         IssueApiForm issueApiForm = ConvertUtil.copyProperties(apiIssueModifyForm, IssueApiForm.class);
         issueApiForm.parseCustomFields(apiIssueModifyForm.getCustomFields());
-        issueApiForm.setApiType(IssueApiForm.ApiType.add);
+        issueApiForm.setApiType(IssueApiForm.ApiType.modify);
         // �궗�슜�옄 �젙�쓽 �븘�뱶媛� �뾾�쓣 寃쎌슦 寃��깋�쓣 �븷 �닔 �뾾湲� �븣臾몄뿉 �삁�쇅泥섎━
         if (issueApiForm.getCustomFieldValues() == null || issueApiForm.getCustomFieldValues().size() == 0) {
             throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_CUSTOM_FIELD_NOT_EXIST));
         }
 
-        this.issueService.modifyIssue(issueApiForm, new ArrayList<>());
+        List<Issue> issues = this.issueService.modifyIssue(issueApiForm, new ArrayList<>());
+        if (issues != null && issues.size() > 0) {
+            StringBuilder sb = new StringBuilder();
+            for (Issue issue : issues) {
+                if (sb.length() > 0)
+                    sb.append(",");
+                sb.append(issue.getProject().getProjectKey()).append("-").append(issue.getIssueNumber());
+            }
+            resJsonData.put(Constants.RES_KEY_MSG_SUCCESS, sb.toString());
+        }
+        return resJsonData;
     }
 }
 

--
Gitblit v1.8.0