From 9b589820e73c0ca36ceca13ddd6b8c2dda810459 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 29 11월 2021 17:03:41 +0900 Subject: [PATCH] 이슈 메일 보내기 기능 - 전체 대상자 출력 백엔드 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 70 +++++++++++++++++++++-- src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java | 4 + src/main/java/kr/wisestone/owl/service/IssueService.java | 8 ++ src/main/java/kr/wisestone/owl/web/controller/IssueController.java | 62 ++++++++++++++++---- 4 files changed, 124 insertions(+), 20 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/IssueService.java b/src/main/java/kr/wisestone/owl/service/IssueService.java index 4b63770..0458655 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueService.java +++ b/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);*/ } 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 c74683f..59a159b 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/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) { + + }*/ } diff --git a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java index 177072d..a0a8824 100644 --- a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java +++ b/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; } diff --git a/src/main/java/kr/wisestone/owl/web/controller/IssueController.java b/src/main/java/kr/wisestone/owl/web/controller/IssueController.java index d3eead3..436a3b5 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/IssueController.java +++ b/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); + }*/ + } -- Gitblit v1.8.0