From 44a57264c3324558044820a421baf8055ac3f32d Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 일, 05 12월 2021 13:28:51 +0900
Subject: [PATCH] - api 오류 수정

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java                 |   27 ++++++++++++++++++++++++++-
 src/main/java/kr/wisestone/owl/service/impl/CustomFieldApiOverlapServiceImpl.java |    3 ++-
 src/main/resources/system_prod.properties                                         |    4 ++--
 src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java                         |    9 +++++++++
 src/main/java/kr/wisestone/owl/web/form/IssueForm.java                            |    6 ++++++
 src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java |    9 ++++++++-
 6 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/CustomFieldApiOverlapServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CustomFieldApiOverlapServiceImpl.java
index 84bce83..4a483e6 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CustomFieldApiOverlapServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CustomFieldApiOverlapServiceImpl.java
@@ -48,7 +48,8 @@
     @Override
     @Transactional
     public void find(Map<String, Object> resJsonData, CustomFieldApiOverlapForm form) {
-        List<CustomFieldApiOverlap> customFieldApiOverlaps = this.find(form.getUserId(), form.getIssueTypeId());
+        Long userId = this.webAppUtil.getLoginId();
+        List<CustomFieldApiOverlap> customFieldApiOverlaps = this.find(userId, form.getIssueTypeId());
         if (customFieldApiOverlaps != null && customFieldApiOverlaps.size() > 0) {
 
             List<CustomFieldApiOverlapVo> customFieldApiOverlapVos =  Lists.newArrayList();
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java
index f8e1f52..6f556c6 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java
@@ -1,9 +1,11 @@
 package kr.wisestone.owl.service.impl;
 
 import com.google.common.collect.Lists;
+import kr.wisestone.owl.constant.MsgConstants;
 import kr.wisestone.owl.domain.*;
 import kr.wisestone.owl.domain.enumType.CustomFieldType;
 import kr.wisestone.owl.domain.enumType.IssueHistoryType;
+import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.IssueCustomFieldValueMapper;
 import kr.wisestone.owl.repository.IssueCustomFieldValueRepository;
 import kr.wisestone.owl.service.*;
@@ -76,7 +78,12 @@
         }
 
         if (issueCustomFieldValues.size() > 0) {
-            this.issueCustomFieldValueRepository.saveAll(issueCustomFieldValues);
+            try {
+                this.issueCustomFieldValueRepository.saveAll(issueCustomFieldValues);
+            } catch (Exception ex) {
+                throw new OwlRuntimeException(
+                        this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_NOT_EXIST));
+            }
         }
     }
 
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 f3aeac1..df0bb52 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -157,6 +157,9 @@
     private UserWorkspaceService userWorkspaceService;
 
     @Autowired
+    private WorkflowDepartmentService workflowDepartmentService;
+
+    @Autowired
     private IssueRelationService issueRelationService;
 
     @Autowired
@@ -199,6 +202,28 @@
         if (issueType == null){
             throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_PARAMETER_ISSUE_TYPE_ERROR));
         }
+
+        Workflow workflow = issueType.getWorkflow();
+
+        // �씠�뒋 �긽�깭媛� 吏��젙�릺�뼱 �엳吏� �븡�쓣 寃쎌슦 珥덇린媛믪쑝濡� 吏��젙
+        if (issueApiForm.getIssueStatusId() == null) {
+            List<IssueStatusVo> issueStatusVos = issueStatusService.findByWorkflowId(workflow.getId());
+            IssueStatusVo issueStatusVo = issueStatusVos.get(0);
+            issueApiForm.setIssueStatusId(issueStatusVo.getId());
+        }
+
+        // �썙�겕�뵆濡쒖슦 �긽�깭�뿉 �뵲瑜� �떞�떦遺��꽌 媛��졇�삤湲�
+        if (issueApiForm.getIssueStatusId() != null) {
+            WorkflowDepartmentCondition workflowDepartmentCondition = new WorkflowDepartmentCondition();
+            workflowDepartmentCondition.setIssueStatusId(issueApiForm.getIssueStatusId());
+            workflowDepartmentCondition.setWorkflowId(workflow.getId());
+            List<WorkflowDepartmentVo> workflowDepartmentVos = this.workflowDepartmentService.find(workflowDepartmentCondition);
+
+            for (WorkflowDepartmentVo workflowDepartmentVo : workflowDepartmentVos) {
+                issueForm.addDepartmentId(workflowDepartmentVo.getDepartmentVo().getId());
+            }
+        }
+
 
         // �봽濡쒖젥�듃 �엯�젰
         Project project = issueType.getProject();
@@ -341,7 +366,7 @@
         //  �떞�떦�옄 吏��젙
         //this.issueUserService.modifyIssueUser(issue, project.getWorkspace(), issueForm.getUserIds());
         //  �떞�떦遺��꽌 吏��젙
-        this.issueDepartmentService.modifyIssueDepartment(issue, project.getWorkspace(), issueForm.getDepartmentIds());
+        this.issueDepartmentService.modifyIssueDepartment(issue, user, project.getWorkspace(), issueForm.getDepartmentIds());
         //  �뾽泥� �젙蹂� ���옣
         this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields());
         //  ISP �젙蹂� ���옣
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 8c1e7a8..93d7e48 100644
--- a/src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java
+++ b/src/main/java/kr/wisestone/owl/web/form/IssueApiForm.java
@@ -23,6 +23,7 @@
     private String projectKey;
     private String description;
     private Long issueTypeId;
+    private Long issueStatusId;
     private Long priorityId;
     private Long severityId;
     private Date startDate;
@@ -217,4 +218,12 @@
     public void setMultipartFiles(List<MultipartFile> multipartFiles) {
         this.multipartFiles = multipartFiles;
     }
+
+    public Long getIssueStatusId() {
+        return issueStatusId;
+    }
+
+    public void setIssueStatusId(Long issueStatusId) {
+        this.issueStatusId = issueStatusId;
+    }
 }
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 863a569..482f023 100644
--- a/src/main/java/kr/wisestone/owl/web/form/IssueForm.java
+++ b/src/main/java/kr/wisestone/owl/web/form/IssueForm.java
@@ -229,6 +229,12 @@
         this.departmentIds = departmentIds;
     }
 
+    public void addDepartmentId(Long departmentId) {
+        if (this.departmentIds != null) {
+            this.departmentIds.add(departmentId);
+        }
+    }
+
     public List<Long> getRemoveFiles() {
         return removeFiles;
     }
diff --git a/src/main/resources/system_prod.properties b/src/main/resources/system_prod.properties
index 951aeed..4f46fd6 100644
--- a/src/main/resources/system_prod.properties
+++ b/src/main/resources/system_prod.properties
@@ -40,8 +40,8 @@
 # email \uC124\uC815
 email.host=mail.g2works.kr
 email.port=587
-email.userName=wyu@maprex.co.kr
-email.password=1234
+email.userName=supportowl@wisestone.kr
+email.password=Stone0620**
 email.transport.protocol=smtp
 email.smtp.auth=true
 email.smtp.starttle.enable=true

--
Gitblit v1.8.0