From ce82939b2d2ef793e446f464314c6e570c7ebad5 Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 수, 05 1월 2022 10:48:42 +0900 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 18 ++++++++- src/main/java/kr/wisestone/owl/service/impl/WorkspaceServiceImpl.java | 9 ++++ src/main/java/kr/wisestone/owl/service/IssueCommentService.java | 3 + src/main/java/kr/wisestone/owl/service/WorkspaceService.java | 2 + src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java | 9 ++++ src/main/java/kr/wisestone/owl/web/form/IssueForm.java | 3 + src/main/java/kr/wisestone/owl/service/impl/IssueCommentServiceImpl.java | 21 ++++++++++ src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java | 12 +++--- 8 files changed, 68 insertions(+), 9 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/IssueCommentService.java b/src/main/java/kr/wisestone/owl/service/IssueCommentService.java index da38dc5..5bb5edb 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueCommentService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueCommentService.java @@ -1,6 +1,7 @@ package kr.wisestone.owl.service; import kr.wisestone.owl.domain.IssueComment; +import kr.wisestone.owl.domain.User; import kr.wisestone.owl.vo.IssueCommentVo; import kr.wisestone.owl.web.form.IssueCommentForm; import org.springframework.data.jpa.repository.JpaRepository; @@ -11,6 +12,8 @@ IssueComment addIssueComment(IssueCommentForm issueCommentForm); + IssueComment addIssueComment(IssueCommentForm issueCommentForm, User user); + void removeIssueComments(IssueCommentForm issueCommentForm); IssueComment getIssueComment(Long id ); diff --git a/src/main/java/kr/wisestone/owl/service/WorkspaceService.java b/src/main/java/kr/wisestone/owl/service/WorkspaceService.java index 00d4e28..6d1ea4f 100644 --- a/src/main/java/kr/wisestone/owl/service/WorkspaceService.java +++ b/src/main/java/kr/wisestone/owl/service/WorkspaceService.java @@ -42,6 +42,8 @@ void checkUseWorkspace(); + void checkUseWorkspace(User user); + Workspace checkUseWorkspace(User user, Long workspaceId); ModelAndView checkUseExcelDownload(Model model); diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueCommentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueCommentServiceImpl.java index ad166cc..a2963aa 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueCommentServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueCommentServiceImpl.java @@ -3,6 +3,7 @@ import kr.wisestone.owl.constant.MsgConstants; import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.domain.IssueComment; +import kr.wisestone.owl.domain.User; import kr.wisestone.owl.exception.OwlRuntimeException; import kr.wisestone.owl.repository.IssueCommentRepository; import kr.wisestone.owl.service.IssueCommentService; @@ -61,6 +62,26 @@ return issueComment; } + // �뙎湲��쓣 �벑濡앺븳�떎. (api�슜) + @Override + @Transactional + public IssueComment addIssueComment(IssueCommentForm issueCommentForm, User user) { + // �궗�슜�븯怨� �엳�뒗 �뾽臾� 怨듦컙�씠 �솢�꽦 �긽�깭�씤吏� �솗�씤�븳�떎. �궗�슜 怨듦컙�뿉�꽌 濡쒓렇�씤�븳 �궗�슜�옄媛� 鍮꾪솢�꽦�씤吏� �솗�씤�븳�떎. + this.workspaceService.checkUseWorkspace(user); + + IssueComment issueComment = ConvertUtil.copyProperties(issueCommentForm, IssueComment.class); + + this.verifyComment(issueCommentForm.getDescription()); + + Issue issue = this.issueService.getIssue(issueCommentForm.getIssueId()); + issueComment.setIssue(issue); + issueComment.setWorkspace(issue.getProject().getWorkspace()); + + this.issueCommentRepository.saveAndFlush(issueComment); + + return issueComment; + } + private void verifyComment(String comment) { if (StringUtils.isEmpty(comment)) { throw new OwlRuntimeException( diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java index 80b12e2..1e2a2b3 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHistoryServiceImpl.java @@ -349,8 +349,11 @@ this.detectIssuePeriod(issue, issueForm, description); // �떞�떦�옄 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. this.detectIssueManager(issue, issueForm, description); - // �떞�떦遺��꽌 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. - this.detectIssueDepartment(issue, issueForm, description); + + if (issueForm.getIsApi().equals(Issue.IS_API_NO)) { //api濡� 蹂�寃� �떆 �떞�떦遺��꽌 蹂�寃� 遺덇� + // �떞�떦遺��꽌 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. + this.detectIssueDepartment(issue, issueForm, description); + } // �궗�슜�옄 �젙�쓽 �븘�뱶 蹂�寃� �젙蹂대�� 湲곕줉�븳�떎. this.detectCustomField(issue, issueForm, description); @@ -759,10 +762,7 @@ // �씠�뒋 �쐞�뿕 愿�由ъ뿉 �떞�떦遺��꽌 蹂�寃� �젙蹂대�� �뾽�뜲�씠�듃 �븳�떎. - �떞�떦遺��꽌 蹂�寃� this.issueRiskService.modifyIssueRisk(issue, false, true, null); saveIssueRisk = true; - } - - // �떞�떦遺��꽌 �닔�뒗 媛숈쑝�굹 �떞�떦遺��꽌媛� �떖�씪議뚯쓣 寃쎌슦 - if (issue.getIssueDepartments().size() > 0 && issueForm.getDepartmentIds().size() > 0) { + }else if (issue.getIssueDepartments().size() > 0 && issueForm.getDepartmentIds().size() > 0) {// �떞�떦遺��꽌 �닔�뒗 媛숈쑝�굹 �떞�떦遺��꽌媛� �떖�씪議뚯쓣 寃쎌슦 // �씠�쟾 �떞�떦�옄 �몴�떆 for (IssueDepartment issueDepartment : issue.getIssueDepartments()) { boolean change = true; diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 641bcd9..bce5de5 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -313,7 +313,7 @@ } } - private void findCompanyField(IssueForm issueForm) { + private IssueForm findCompanyField(IssueForm issueForm) { if(issueForm.getIssueCustomFields() != null && issueForm.getIssueCustomFields().size() > 0) { CompanyFieldCondition condition = new CompanyFieldCondition(); List<Map<String, Object>> companyFields = this.companyFieldService.find(condition); @@ -356,6 +356,7 @@ issueForm.setIssueHostingFields(issueHostingFields); } } + return issueForm; } private User convertToUser(String token) { @@ -381,7 +382,14 @@ } else { // 媛��긽 �긽�쐞 �씠�뒋 異붽� IssueForm parentIssueForm = issueForm.clone(); + // 媛��긽 �긽�쐞 �씠�뒋 異붽� parentIssueForm.setUseIssueCustomFields(issueApiForm.getUseIssueCustomFieldIds()); + // 媛숈� �룄硫붿씤 �뾽泥� 李얘린 + IssueForm partners = this.findCompanyField(parentIssueForm); + parentIssueForm.setIssueCompanyFields(partners.getIssueCompanyFields()); + parentIssueForm.setIssueIspFields(partners.getIssueIspFields()); + parentIssueForm.setIssueHostingFields(partners.getIssueHostingFields()); + Issue issue = addIssue(user, parentIssueForm, null); issues.add(issue); // �븯�쐞 �씠�뒋 異붽� @@ -501,7 +509,6 @@ this.issueIspService.modifyIssueIspField(issue, issueForm); // HOSTING �젙蹂� ���옣 this.issueHostingService.modifyIssueHostingField(issue, issueForm); - // 泥⑤� �뙆�씪 ���옣 // multipartFile �쓣 file Map List 媛앹껜濡� 蹂�寃쏀븳�떎. @@ -1904,6 +1911,13 @@ private Issue modifyIssueForApi(User user, IssueForm issueForm, List<MultipartFile> multipartFiles) { CheckIssueData checkIssueData = this.checkIssue(user, issueForm); + if (issueForm.getComment() != null && !issueForm.getComment().equals("")) { //�뙎湲� 異붽� + IssueCommentForm issueCommentForm = new IssueCommentForm(); + issueCommentForm.setDescription(issueForm.getComment()); + issueCommentForm.setIssueId(issueForm.getId()); + this.issueCommentService.addIssueComment(issueCommentForm, user); + } + // �씠�뒋 �씠�젰 �궓湲곌린 this.addIssueHistoryModify(user, issueForm, checkIssueData, multipartFiles); diff --git a/src/main/java/kr/wisestone/owl/service/impl/WorkspaceServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/WorkspaceServiceImpl.java index 398de47..a1a3ee2 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/WorkspaceServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/WorkspaceServiceImpl.java @@ -567,6 +567,15 @@ // �궗�슜�븯怨� �엳�뒗 �뾽臾� 怨듦컙�씠 �솢�꽦 �긽�깭�씤吏� �솗�씤�븳�떎. �궗�슜 怨듦컙�뿉�꽌 濡쒓렇�씤�븳 �궗�슜�옄媛� 鍮꾪솢�꽦�씤吏� �솗�씤�븳�떎. @Override @Transactional + public void checkUseWorkspace(User user) { + Workspace workspace = this.getWorkspace(user.getLastWorkspaceId()); + + this.checkUseWorkspace(user, workspace.getId()); + } + + // �궗�슜�븯怨� �엳�뒗 �뾽臾� 怨듦컙�씠 �솢�꽦 �긽�깭�씤吏� �솗�씤�븳�떎. �궗�슜 怨듦컙�뿉�꽌 濡쒓렇�씤�븳 �궗�슜�옄媛� 鍮꾪솢�꽦�씤吏� �솗�씤�븳�떎. + @Override + @Transactional public Workspace checkUseWorkspace(User user, Long workspaceId) { if (user == null) { throw new OwlRuntimeException( diff --git a/src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java b/src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java index 42c5467..aaab370 100644 --- a/src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java @@ -32,6 +32,7 @@ private List<MultipartFile> multipartFiles = Lists.newArrayList(); private List<Long> useIssueCustomFieldIds = Lists.newArrayList(); // �궗�쐞�씪媛먯슜 �궗�슜�옄�븘�뱶媛� private String url; // �깘吏� �떆�뒪�뀥�뿉�꽌留� �쟻�슜 + private String comment; public IssueApiForm() { } @@ -237,4 +238,12 @@ public void setUrl(String url) { this.url = url; } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } } diff --git a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java index f2a8b70..992db0d 100644 --- a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java +++ b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java @@ -1,6 +1,7 @@ package kr.wisestone.owl.web.form; import com.google.common.collect.Lists; +import kr.wisestone.owl.domain.Issue; import kr.wisestone.owl.util.ConvertUtil; import kr.wisestone.owl.util.MapUtil; import kr.wisestone.owl.vo.CompanyFieldVo; @@ -66,7 +67,7 @@ private List<Map<String, Object>> files = Lists.newArrayList(); // api�슜 泥⑤��뙆�씪 private Long parentIssueId; // �긽�쐞 �씠�뒋 - private String isApi; + private String isApi = Issue.IS_API_NO; private List<String> downIssuesStatus = Lists.newArrayList(); //�븯�쐞�씠�뒋 �긽�깭 public IssueForm() { -- Gitblit v1.8.0