= 메일 그룹 관리 == 개요 메일 그룹 및 맵핑 정보 관리 기능 제공. == UI Design & Function === 메일 그룹 목록(MailGroupList.vue) 메일 그룹 등록, 수정 및 삭제가 가능하다. image::mailGroupList.png[mailGroupList.png] * 기능 설명 . 메일 그룹 목록 조회 . 메일 그룹 상세정보 조회 . 메일 그룹 등록 : 등록 버튼 클릭 시 메일 그룹 입력 popup 호출. . 메일 그룹 수정 : checkbox 선택 후 수정 버튼 클릭 시 변경을 위한 popup 호출. . 메일 그룹 삭제 : checkbox 선택 후 삭제 버튼 클릭 시 삭제. === 메일 그룹 맵핑 수정(MailGroupMappEdit.vue) 메일 그룹 맵핑 목록 등록 및 삭제가 가능하다. image::mailGroupMappEdit.png[mailGroupMappList.png] * 기능 설명 . 메일 그룹 맵핑 목록 조회 . 메일 그룹 맵핑 저장 .. 사용자 추가 : 버튼 클릭 시 사용자 추가 popup 호출. .. 역할 추가 : 버튼 클릭 시 역할 추가 popup 호출. .. 업무그룹 추가 : 버튼 클릭 시 업무그룹 추가 popup 호출. == API & Service === API * API : MailGroupController.java . 메일 그룹 목록 조회 : GET /mail-group-with-paging . 메일 그룹 상세정보 조회 : GET /mail-group/{mailGroupId} . 메일 그룹 등록 : POST /mail-group . 메일 그룹 수정 : PUT /mail-group . 메일 그룹 삭제 : DELETE /mail-group . 메일 그룹 맵핑 목록 조회 : GET /mail-group-mapp-with-paging . 메일 그룹 맵핑 저장 : POST /mail-group-mapp/{mailGroupId} * Service : MailGroupServiceImpl.java . 메일 그룹 맵핑 저장 + 맵핑 정보 저장 시 기등록 되어 있는 맵핑 목록 삭제 후 전체 목록을 다시 저장하도록 구현. [source,java] ---- @Override @Transactional public void saveMailGroupMapp(String mailGroupId, List mailGroupMappList) { mailGroupDao.deleteMailGroupMapp(mailGroupId); for(MailGroupMapp mailGroupMapp : mailGroupMappList) { mailGroupMapp.setMailGroupId(mailGroupId); mailGroupDao.insertMailGroupMapp(mailGroupMapp); } } ---- == Entity Table & SQL === Entity Table * TN_CF_MAIL_GROUP : 메일 그룹 * TN_CF_MAIL_GROUP_MAPP : 메일 그룹 맵핑 === SQL . 메일 그룹 목록 조회 [source,xml] ---- SELECT , (SELECT USER_NAME --생략-- ---- [start=3] . 메일그룹 등록 [source,xml] ---- INSERT INTO () --생략-- ---- [start=4] . 메일그룹 수정 [source,xml] ---- UPDATE SET LABEL = #{label}, --생략-- ---- [start=5] . 메일그룹 삭제 [source,xml] ---- UPDATE SET DELETED = '1', --생략-- ---- [start=6] . 메일그룹 맵핑 목록 조회 [source,xml] ---- UPDATE SET DELETED = '1', --생략-- ---- [start=7] . 메일그룹 맵핑 저장 [source,xml] ---- DELETE FROM WHERE MAIL_GROUP_ID = #{mailGroupId} INSERT INTO () --생략-- ----