OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-12-05 44a57264c3324558044820a421baf8055ac3f32d
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));
            }
        }
    }
@@ -295,6 +302,12 @@
                switch (CustomFieldType.valueOf(issueCustomFieldValueCondition.getCustomFieldType())) {
                    case INPUT:
                    case NUMBER:
                    case DATETIME:
                    case IP_ADDRESS:
                    case EMAIL:
                    case SITE:
                    case TEL:
                        result = this.issueCustomFieldValueMapper.findLikeUseValue(issueCustomFieldValueCondition);
                        break;
                    case MULTI_SELECT:
@@ -327,6 +340,29 @@
        return customFieldSearch;
    }
    @Override
    public Map<String, Object> find(IssueCustomFieldValueCondition issueCustomFieldValueCondition) {
        if (issueCustomFieldValueCondition.getUseValues().size() > 0 || !StringUtils.isEmpty(issueCustomFieldValueCondition.getUseValue())) {
            issueCustomFieldValueCondition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
            //  사용자 정의 필드 값 검색 시작
            Map<String, Object> result = new HashMap<>();
            switch (CustomFieldType.valueOf(issueCustomFieldValueCondition.getCustomFieldType())) {
                case INPUT:
                    result = this.issueCustomFieldValueMapper.findLikeUseValue(issueCustomFieldValueCondition);
                    break;
                case MULTI_SELECT:
                case SINGLE_SELECT:
                    result = this.issueCustomFieldValueMapper.findByUseValue(issueCustomFieldValueCondition);
                    break;
            }
            return result;
        }
        return null;
    }
    //  이슈에서 저장한 사용자 정의 필드 값을 조회한다.
    @Override
    @Transactional(readOnly = true)