OWL ITS + 탐지시스템(인터넷 진흥원)
박지현
2022-02-21 174dc12380c54730014e86c8897be16389fc804f
Merge branch 'master' of http://maprex.iptime.org:9001/r/owl-kisa
5개 파일 변경됨
97 ■■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/domain/IssueType.java 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java 8 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java 42 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java 30 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/issue/issueListNormal.html 14 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/domain/IssueType.java
@@ -57,13 +57,14 @@
    public IssueType(){}
    public IssueType(Workspace workspace, Workflow workflow, String name, String description, String color, Long usePartner){
    public IssueType(Workspace workspace, Workflow workflow, String name, String description, String color, Long usePartner, Boolean inheritPartners){
        this.workspace = workspace;
        this.workflow = workflow;
        this.name = name;
        this.description = description;
        this.color = color;
        this.usePartner = usePartner;
        this.inheritPartners = inheritPartners;
    }
    public Long getId() {
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -98,16 +98,16 @@
            switch (projectType) {
                case BTS_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, "악성 도메인", "", "#ff5f99", 0L)); // 버그
                    issueTypes.add(new IssueType(workspace, workflow, "경유지 대응", "", "#3598fe", 0L)); // 개선
                    issueTypes.add(new IssueType(workspace, workflow, "악성 도메인", "", "#ff5f99", 0L, false)); // 버그
                    issueTypes.add(new IssueType(workspace, workflow, "경유지 대응", "", "#3598fe", 0L, false)); // 개선
                    break;
                case RMS_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, "유포지 대응", "", "#3bcde2", 0L)); // 요구 사항
                    issueTypes.add(new IssueType(workspace, workflow, "유포지 대응", "", "#3bcde2", 0L, false)); // 요구 사항
                    break;
                case TCM_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, "분석결과 대응", "", "#008ca7", 0L)); // 테스트 케이스, 실행 순서, 전제 조건, 기대 결과
                    issueTypes.add(new IssueType(workspace, workflow, "분석결과 대응", "", "#008ca7", 0L, false)); // 테스트 케이스, 실행 순서, 전제 조건, 기대 결과
                    break;
            }
            this.issueTypeRepository.saveAll(issueTypes);
src/main/java/kr/wisestone/owl/service/impl/SystemEmailServiceImpl.java
@@ -269,30 +269,34 @@
        MimeMessage message = this.javaMailSender.createMimeMessage();
        try {
            InternetAddress from = new InternetAddress(this.emailUserName, this.emailSender);
            MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
            messageHelper.setSubject(subject);
            messageHelper.setText(content, true);
            messageHelper.setFrom(from);
            messageHelper.setTo(to);
            if (this.emailSender != null && !this.emailSender.equals("")
                && this.emailUserName != null && !this.emailUserName.equals("")) {
            if (multipartFiles != null && multipartFiles.size() > 0) {
                for (MultipartFile file : multipartFiles) {
                    // 파일 첨부
                    messageHelper.addAttachment(MimeUtility.encodeText(file.getOriginalFilename(), "utf-8", "B"), file);
                }
            }
                InternetAddress from = new InternetAddress(this.emailUserName, this.emailSender);
                MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
                messageHelper.setSubject(subject);
                messageHelper.setText(content, true);
                messageHelper.setFrom(from);
                messageHelper.setTo(to);
            if (filePaths != null && filePaths.length > 0) {
                for (String filePath : filePaths) {
                    if (!StringUtils.isEmpty(filePath)) {
                        DataSource dataSource = new FileDataSource(filePath);
                        messageHelper.addAttachment(MimeUtility.encodeText(
                                FilenameUtils.getBaseName(filePath), "utf-8", "B"), dataSource);
                if (multipartFiles != null && multipartFiles.size() > 0) {
                    for (MultipartFile file : multipartFiles) {
                        // 파일 첨부
                        messageHelper.addAttachment(MimeUtility.encodeText(file.getOriginalFilename(), "utf-8", "B"), file);
                    }
                }
                if (filePaths != null && filePaths.length > 0) {
                    for (String filePath : filePaths) {
                        if (!StringUtils.isEmpty(filePath)) {
                            DataSource dataSource = new FileDataSource(filePath);
                            messageHelper.addAttachment(MimeUtility.encodeText(
                                    FilenameUtils.getBaseName(filePath), "utf-8", "B"), dataSource);
                        }
                    }
                }
                this.javaMailSender.send(message);
            }
            this.javaMailSender.send(message);
        } catch (MailSendException e) {
            log.error(e.getMessage());
src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -1377,15 +1377,17 @@
        userMap.put("newUserCount", joinUsers.size());
        userMap.put("joinUsers", userVos);
        String[] sendEmails = this.userJoinStatisticsEmail.replaceAll("\\p{Z}", "").split(",");
        List<String> encryptSendEmail = Lists.newArrayList();
        if (this.userJoinStatisticsEmail != null && !this.userJoinStatisticsEmail.equals("")) {
            String[] sendEmails = this.userJoinStatisticsEmail.replaceAll("\\p{Z}", "").split(",");
            List<String> encryptSendEmail = Lists.newArrayList();
        for (String sendEmail : sendEmails) {
            encryptSendEmail.add(CommonUtil.encryptAES128(sendEmail));
            for (String sendEmail : sendEmails) {
                encryptSendEmail.add(CommonUtil.encryptAES128(sendEmail));
            }
            //  결제 성공 메일 발송
            this.systemEmailService.directEmail(encryptSendEmail.toArray(new String[encryptSendEmail.size()]), EmailType.USER_JOIN_STATISTICS, userMap, null);
        }
        //  결제 성공 메일 발송
        this.systemEmailService.directEmail(encryptSendEmail.toArray(new String[encryptSendEmail.size()]), EmailType.USER_JOIN_STATISTICS, userMap, null);
    }
    //  전체 사용자, 프로젝트 수, 이슈 수를 이메일로 보낸다.
@@ -1403,15 +1405,17 @@
        userMap.put("projectCount", CommonUtil.getDecimalFormat(projectCount));
        userMap.put("userCount", CommonUtil.getDecimalFormat(activeUsers.size()));
        String[] sendEmails = this.totalStatisticsEmail.replaceAll("\\p{Z}", "").split(",");
        List<String> encryptSendEmail = Lists.newArrayList();
        if (this.totalStatisticsEmail != null && !this.totalStatisticsEmail.equals("")) {
            String[] sendEmails = this.totalStatisticsEmail.replaceAll("\\p{Z}", "").split(",");
            List<String> encryptSendEmail = Lists.newArrayList();
        for (String sendEmail : sendEmails) {
            encryptSendEmail.add(CommonUtil.encryptAES128(sendEmail));
            for (String sendEmail : sendEmails) {
                encryptSendEmail.add(CommonUtil.encryptAES128(sendEmail));
            }
            //  결제 성공 메일 발송
            this.systemEmailService.directEmail(encryptSendEmail.toArray(new String[encryptSendEmail.size()]), EmailType.TOTAL_STATISTICS, userMap, null);
        }
        //  결제 성공 메일 발송
        this.systemEmailService.directEmail(encryptSendEmail.toArray(new String[encryptSendEmail.size()]), EmailType.TOTAL_STATISTICS, userMap, null);
    }
src/main/webapp/views/issue/issueListNormal.html
@@ -284,6 +284,20 @@
                                                    </div>
                                                </div>
                                                <div class="col-lg-3">
                                                    <div class="form-group">
                                                        <label> <span translate="common.registrationDate">등록일</span></label>
                                                        <input type="text"
                                                               readonly
                                                               class="form-control input-sm input-readonly"
                                                               ng-model="vm.search.registerDateRange"
                                                               modal-form-auto-scroll
                                                               date-format="YY-MM-DD"
                                                               parent-el="'#createdWidget'"
                                                               date-range-picker>
                                                    </div>
                                                </div>
                                                <div class="col-lg-3" ng-repeat="customField in vm.customFields">
                                                    <label>{{::customField.name}}</label>