161 lines
4.0 KiB
Plaintext
161 lines
4.0 KiB
Plaintext
= 메일 그룹 관리
|
|
|
|
== 개요
|
|
|
|
메일 그룹 및 맵핑 정보 관리 기능 제공.
|
|
|
|
== 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<MailGroupMapp> 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 id="selectMailGroupPagingList" parameterType="java.util.HashMap" resultMap="mailGroupResult">
|
|
SELECT T.*
|
|
FROM (SELECT ROW_NUMBER() OVER(ORDER BY LABEL ASC) ROWNUM,
|
|
--생략--
|
|
----
|
|
|
|
[start=2]
|
|
. 메일 그룹 상세정보 조회
|
|
|
|
[source,xml]
|
|
----
|
|
<select id="selectMailGroup" parameterType="java.util.HashMap" resultMap="mailGroupResult">
|
|
SELECT <include refid="columnMailGroup" />,
|
|
(SELECT USER_NAME
|
|
--생략--
|
|
----
|
|
|
|
[start=3]
|
|
. 메일그룹 등록
|
|
|
|
[source,xml]
|
|
----
|
|
<insert id="insertMailGroup" parameterType="java.util.HashMap">
|
|
INSERT INTO <include refid="tableMailGroup" />
|
|
(<include refid="columnMailGroup" />)
|
|
--생략--
|
|
----
|
|
|
|
[start=4]
|
|
. 메일그룹 수정
|
|
|
|
[source,xml]
|
|
----
|
|
<update id="updateMailGroup" parameterType="java.util.HashMap">
|
|
UPDATE <include refid="tableMailGroup" />
|
|
SET LABEL = #{label},
|
|
--생략--
|
|
----
|
|
|
|
[start=5]
|
|
. 메일그룹 삭제
|
|
|
|
[source,xml]
|
|
----
|
|
<delete id="deleteMailGroup" parameterType="java.util.HashMap">
|
|
UPDATE <include refid="tableMailGroup" />
|
|
SET DELETED = '1',
|
|
--생략--
|
|
----
|
|
|
|
[start=6]
|
|
. 메일그룹 맵핑 목록 조회
|
|
|
|
[source,xml]
|
|
----
|
|
<delete id="deleteMailGroup" parameterType="java.util.HashMap">
|
|
UPDATE <include refid="tableMailGroup" />
|
|
SET DELETED = '1',
|
|
--생략--
|
|
----
|
|
|
|
[start=7]
|
|
. 메일그룹 맵핑 저장
|
|
|
|
[source,xml]
|
|
----
|
|
<delete id="deleteMailGroupMapp" parameterType="java.util.HashMap">
|
|
DELETE FROM <include refid="tableMailGroupMapp" />
|
|
WHERE MAIL_GROUP_ID = #{mailGroupId}
|
|
</delete>
|
|
|
|
<insert id="insertMailGroupMapp" parameterType="java.util.HashMap">
|
|
INSERT INTO <include refid="tableMailGroupMapp" />
|
|
(<include refid="columnMailGroupMapp" />)
|
|
--생략--
|
|
---- |