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 | 74 ++++++++++++++++++++++++------------ 1 files changed, 49 insertions(+), 25 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 60a23f1..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; @@ -11,8 +14,10 @@ import kr.wisestone.owl.web.form.ApiIssueAddForm; import kr.wisestone.owl.web.form.ApiIssueModifyForm; import kr.wisestone.owl.web.form.IssueApiForm; -import org.json.simple.parser.ParseException; 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; @@ -34,6 +39,7 @@ /** + * �씠�뒋 異붽� * @param apiIssueAddForm �엯�젰 �뤌 �뜲�씠�꽣 * @param files �뙆�씪 * @return JSON @@ -42,67 +48,85 @@ */ @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, ParseException { + 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; } /** + * �씠�뒋 �긽�깭 �닔�젙 * @param apiIssueModifyForm �닔�젙 �뤌 �뜲�씠�꽣 * @return JSON * @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, ParseException { + 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; } - - // �씠�뒋 議고쉶 -// @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