OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-29 9b589820e73c0ca36ceca13ddd6b8c2dda810459
이슈 메일 보내기 기능 - 전체 대상자 출력 백엔드
4개 파일 변경됨
144 ■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/service/IssueService.java 8 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 70 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java 4 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/web/controller/IssueController.java 62 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/IssueService.java
@@ -73,5 +73,11 @@
    void findPartner(Map<String, Object> resJsonData, Map<String, Object> params);
    void findMailTarget(Map<String, Object> resJsonData, Map<String, Object> params);
    void findMailTargetAll(Map<String, Object> resJsonData, IssueCondition condition, Pageable pageable);
    /*void findMailTargetCompany(Map<String, Object> resJsonData, Map<String, Object> params);
    void findMailTargetIsp(Map<String, Object> resJsonData, Map<String, Object> params);
    void findMailTargetHosting(Map<String, Object> resJsonData, Map<String, Object> params);*/
}
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -2711,15 +2711,71 @@
    }
    @Override
    public void findMailTarget(Map<String, Object> resJsonData, Map<String, Object> params) {
        Long issueId = MapUtil.getLong(params, "issueId");
        Issue issue = this.getIssue(issueId);
    @Transactional
    public void findMailTargetAll(Map<String, Object> resJsonData, IssueCondition condition, Pageable pageable) {
        IssueVo issueVo = new IssueVo();
        //Long issueId = MapUtil.getLong(params, "issueId");
        Long issueId = condition.getId();
        this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
        this.setIssueIspField(issue, issueVo);  //ISP 정보 세팅
        this.setIssueHostingField(issue, issueVo);  //HOSTING 정보 세팅
        List<String> emailList = Lists.newArrayList();
        resJsonData.put(Constants.RES_KEY_CONTENTS, issueVo);
        if(issueId != null){
            Issue issue = this.getIssue(issueId);
            issueVo = ConvertUtil.copyProperties(issue, IssueVo.class);
            this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
            this.setIssueIspField(issue, issueVo);  //ISP 정보 세팅
            this.setIssueHostingField(issue, issueVo);  //HOSTING 정보 세팅
            for(IssueCompanyVo issueCompanyVo : issueVo.getIssueCompanyVos()) {
                emailList.add(issueCompanyVo.getEmail());
            }
            for(IssueIspVo issueIspVo : issueVo.getIssueIspVos()) {
                emailList.add(issueIspVo.getEmail());
            }
            for(IssueHostingVo issueHostingVo : issueVo.getIssueHostingVos()) {
                emailList.add(issueHostingVo.getEmail());
            }
        }
        Long totalCount = this.issueMapper.count(condition);
        int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1;
        condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
        condition.setPageSize(pageable.getPageSize());
        //resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
        resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
                totalPage, totalCount));
    }
    /*@Override
    @Transactional
    public void findMailTargetCompany(Map<String, Object> resJsonData, Map<String, Object> params) {
        IssueVo issueVo = new IssueVo();
        Long issueId = MapUtil.getLong(params, "issueId");
        List<String> emailList = Lists.newArrayList();
        if(issueId != null){
            Issue issue = this.getIssue(issueId);
            issueVo = ConvertUtil.copyProperties(issue, IssueVo.class);
            this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
            for(IssueCompanyVo issueCompanyVo : issueVo.getIssueCompanyVos()) {
                emailList.add(issueCompanyVo.getEmail());
            }
        }
        resJsonData.put(Constants.RES_KEY_CONTENTS, emailList);
    }
    @Override
    @Transactional
    public void findMailTargetIsp(Map<String, Object> resJsonData, Map<String, Object> params) {
    }
    @Override
    @Transactional
    public void findMailTargetHosting(Map<String, Object> resJsonData, Map<String, Object> params) {
    }*/
}
src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
@@ -168,6 +168,10 @@
            condition.setExcludeIds(MapUtil.getLongs(conditions, "excludeIds"));
        }
        if (MapUtil.getLong(conditions, "issueId") != null) {
            condition.setId(MapUtil.getLong(conditions, "issueId"));
        }
        return condition;
    }
src/main/java/kr/wisestone/owl/web/controller/IssueController.java
@@ -75,18 +75,6 @@
        return this.setSuccessMessage(resJsonData);
    }
    //  메일 발송 대상자 목록 조회
    @RequestMapping(value = "/issue/findMailTarget", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    public
    @ResponseBody
    Map<String, Object> findMailTarget(@RequestBody Map<String, Map<String, Object>> params) {
        Map<String, Object> resJsonData = new HashMap<>();
        this.issueService.findMailTarget(resJsonData, params.get(Constants.REQ_KEY_CONTENT));
        return this.setSuccessMessage(resJsonData);
    }
    //  이슈 상세 조회
    @RequestMapping(value = "/issue/detail", produces = MediaType.APPLICATION_JSON_VALUE)
    public
@@ -176,5 +164,55 @@
        return this.setSuccessMessage(resJsonData);
    }
    //  메일 발송 대상자 목록 조회
    @RequestMapping(value = "/issue/findMailTargetAll", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    public
    @ResponseBody
    Map<String, Object> findMailTargetAll(@RequestBody Map<String, Map<String, Object>> params) {
        Map<String, Object> resJsonData = new HashMap<>();
        Pageable pageable = this.pageUtil.convertPageable(this.getPageVo(params));
        this.issueService.findMailTargetAll(resJsonData, IssueCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable);
        return this.setSuccessMessage(resJsonData);
    }
    /*//  업체 담당자 메일 목록 조회
    @RequestMapping(value = "/issue/findMailTargetCompany", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    public
    @ResponseBody
    Map<String, Object> findMailTargetCompany(@RequestBody Map<String, Map<String, Object>> params) {
        Map<String, Object> resJsonData = new HashMap<>();
        this.issueService.findMailTargetCompany(resJsonData, params.get(Constants.REQ_KEY_CONTENT));
        return this.setSuccessMessage(resJsonData);
    }
    //  ISP 담당자 메일 목록 조회
    @RequestMapping(value = "/issue/findMailTargetIsp", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    public
    @ResponseBody
    Map<String, Object> findMailTargetIsp(@RequestBody Map<String, Map<String, Object>> params) {
        Map<String, Object> resJsonData = new HashMap<>();
        this.issueService.findMailTargetIsp(resJsonData, params.get(Constants.REQ_KEY_CONTENT));
        return this.setSuccessMessage(resJsonData);
    }
    //  호스팅 담당자 메일 목록 조회
    @RequestMapping(value = "/issue/findMailTargetHosting", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    public
    @ResponseBody
    Map<String, Object> findMailTargetHosting(@RequestBody Map<String, Map<String, Object>> params) {
        Map<String, Object> resJsonData = new HashMap<>();
        this.issueService.findMailTargetHosting(resJsonData, params.get(Constants.REQ_KEY_CONTENT));
        return this.setSuccessMessage(resJsonData);
    }*/
}