From ec9c7e5582d4c20c35e7c3016d64a2213e9f6a50 Mon Sep 17 00:00:00 2001
From: minhee <alsdldlfrl@gmail.com>
Date: 화, 15 3월 2022 12:12:17 +0900
Subject: [PATCH] - 파트너 엑셀 임포트 시 이메일 정규식표현 검사하는 코드 제거 - 이슈 상세페이지 setHideCompleteIssue null 체크 - api로 이슈 추가 시 이슈유형에 업체가 설정되어있지 않는경우 메시지 추가

---
 src/main/java/kr/wisestone/owl/web/controller/Api/ApiController.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 46 insertions(+), 11 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 1df08e5..cf27188 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,9 +1,12 @@
 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;
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.service.IssueService;
 import kr.wisestone.owl.util.ConvertUtil;
@@ -12,6 +15,9 @@
 import kr.wisestone.owl.web.form.ApiIssueModifyForm;
 import kr.wisestone.owl.web.form.IssueApiForm;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -42,29 +48,50 @@
      */
     @PostMapping(value = "/issue")
     @ApiOperation(value = "�씠�뒋 異붽�", notes = "�깉濡쒖슫 �씠�뒋瑜� 異붽��븳�떎.")
-    @ApiImplicitParam(name = "files", required = false, 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
-    Map<String, Object> addIssue(ApiIssueAddForm apiIssueAddForm, @RequestParam("files") List<MultipartFile> files) throws OwlRuntimeException, CloneNotSupportedException {
+    Map<String, Object> addIssue(ApiIssueAddForm apiIssueAddForm, @RequestParam("files") List<MultipartFile> files)
+            throws OwlRuntimeException, CloneNotSupportedException {
         Map<String, Object> resJsonData = new HashMap<>();
 
         IssueApiForm issueApiForm = ConvertUtil.copyProperties(apiIssueAddForm, IssueApiForm.class);
-//        String str = request.getParameter(Constants.REQ_KEY_CONTENT);
+//        String str = request.getParameter(Constants.REQ_KEY_C0NTENT);
         issueApiForm.setMultipartFiles(files);
         issueApiForm.parseCustomFields(apiIssueAddForm.getCustomFields());
         issueApiForm.setApiType(IssueApiForm.ApiType.add);
         // �궗�슜�옄 �젙�쓽 �븘�뱶媛� �뾾�쓣 寃쎌슦 寃��깋�쓣 �븷 �닔 �뾾湲� �븣臾몄뿉 �삁�쇅泥섎━
         if (issueApiForm.getCustomFieldValues() == null || issueApiForm.getCustomFieldValues().size() == 0) {
-            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_CUSTOM_FIELD_NOT_EXIST));
+            throw new ApiParameterException(this.messageAccessor.getMessage(MsgConstants.API_CUSTOM_FIELD_NOT_EXIST));
         }
 
         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());
         }
 
-        return this.setSuccessMessage(resJsonData);
+        if (issues.get(0).getIssueCompanies() != null && issues.get(0).getIssueType().getUsePartner() < 1) {
+            sb.append(", �뾽泥닿� �빐�떦 �씠�뒋�쑀�삎�뿉 �꽕�젙�릺�뼱 �엳吏� �븡�뒿�땲�떎.");
+        }
+
+        resJsonData.put(Constants.RES_KEY_MSG_SUCCESS, sb.toString());
+        return resJsonData;
     }
 
     /**
@@ -74,24 +101,32 @@
      * @throws OwlRuntimeException �뙆�씪誘명꽣 �삤瑜섏떆 諛쒖깮
      * @throws CloneNotSupportedException �씠�뒋 蹂듭궗 �떆�뿉 諛쒖깮
      */
-    @PostMapping(value = "/issue/1")
+    @PostMapping(value = "/issue/status")
     @ApiOperation(value = "�씠�뒋 �긽�깭 �닔�젙", notes = "�궗�슜�옄 �젙�쓽 �븘�뱶媛� �룞�씪�븳 湲곗〈 �씠�뒋瑜� 蹂�寃쏀븳�떎.")
+    @ResponseStatus(HttpStatus.ACCEPTED)
     public
     @ResponseBody
     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<>());
-
-        return this.setSuccessMessage(resJsonData);
+        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