
--- src/main/java/com/takensoft/cms/mber/dao/MberDAO.java
+++ src/main/java/com/takensoft/cms/mber/dao/MberDAO.java
... | ... | @@ -180,6 +180,17 @@ |
180 | 180 |
|
181 | 181 |
/** |
182 | 182 |
* @param params - 연동 해지 정보를 포함한 Map |
183 |
+ * - snsEml: 소셜 계정 이메일 |
|
184 |
+ * - mbrId: 회원 ID |
|
185 |
+ * - mdfr: 수정자 |
|
186 |
+ * @return int - 수정 결과 |
|
187 |
+ * |
|
188 |
+ * 소셜 계정 이메일 수정 |
|
189 |
+ */ |
|
190 |
+ int updateSocialAccountEmail(HashMap<String, Object> params); |
|
191 |
+ |
|
192 |
+ /** |
|
193 |
+ * @param params - 연동 해지 정보를 포함한 Map |
|
183 | 194 |
* - mbrId: 회원 ID |
184 | 195 |
* - lgnOffrType: 제공자 타입 |
185 | 196 |
* - mdfr: 수정자 |
--- src/main/java/com/takensoft/cms/mber/dto/AdmMbrDTO.java
+++ src/main/java/com/takensoft/cms/mber/dto/AdmMbrDTO.java
... | ... | @@ -1,6 +1,7 @@ |
1 | 1 |
package com.takensoft.cms.mber.dto; |
2 | 2 |
|
3 | 3 |
import com.takensoft.cms.mber.vo.MberAuthorVO; |
4 |
+import com.takensoft.cms.mber.vo.MberSocialAccountVO; |
|
4 | 5 |
import lombok.*; |
5 | 6 |
|
6 | 7 |
import java.util.ArrayList; |
... | ... | @@ -42,7 +43,7 @@ |
42 | 43 |
private String prvcRlsYn; // 개인정보공개여부 0: 거부, 1: 허용 |
43 | 44 |
private String mbrType; // 회원형태 S: 시스템, K: 카카오, N: 네이버, G: 구글, F: 페이스북 |
44 | 45 |
private String pswdChgDt; // 비밀번호 변경일 |
45 |
- private String frstRegIp; // 최초등록 아이디 |
|
46 |
+ private String frstRegIp; // 최초등록 아이피 |
|
46 | 47 |
private String sysPvsnYn; // 시스템 제공 여부 -> 시스템에서 제공되는 데이터는 사용자가 제거하지 못하도록 하기 위한 설정값 0: 시스템, 1: 사용자 |
47 | 48 |
private String rgtr; // 등록자 |
48 | 49 |
private String regDt; // 등록일 |
... | ... | @@ -50,4 +51,6 @@ |
50 | 51 |
private String mdfcnDt; // 수정일 |
51 | 52 |
@Builder.Default |
52 | 53 |
private List<MberAuthorVO> authorList = new ArrayList<MberAuthorVO>(); // 권한 정보 |
54 |
+ @Builder.Default |
|
55 |
+ private List<MberSocialAccountVO> socialAccountList = new ArrayList<MberSocialAccountVO>(); // 소셜 계정 정보 |
|
53 | 56 |
} |
--- src/main/java/com/takensoft/cms/mber/service/Impl/AdmMbrServiceImpl.java
+++ src/main/java/com/takensoft/cms/mber/service/Impl/AdmMbrServiceImpl.java
... | ... | @@ -10,6 +10,7 @@ |
10 | 10 |
import com.takensoft.cms.mber.service.AdmMbrService; |
11 | 11 |
import com.takensoft.cms.mber.service.MberService; |
12 | 12 |
import com.takensoft.cms.mber.vo.MberAuthorVO; |
13 |
+import com.takensoft.cms.mber.vo.MberSocialAccountVO; |
|
13 | 14 |
import com.takensoft.cms.mber.vo.MberVO; |
14 | 15 |
import com.takensoft.common.Pagination; |
15 | 16 |
import com.takensoft.common.exception.*; |
... | ... | @@ -100,11 +101,12 @@ |
100 | 101 |
@Override |
101 | 102 |
public AdmMbrDTO mbrDetail(String mbrId){ |
102 | 103 |
try { |
103 |
- verificationService.verifyAccess(mbrId); // 접근 검증 |
|
104 | 104 |
AdmMbrDTO admMbrDTO = new AdmMbrDTO(); |
105 | 105 |
|
106 | 106 |
// mbrId가 있는 경우 |
107 | 107 |
if (mbrId != null) { |
108 |
+ verificationService.verifyAccess(mbrId); // 접근 검증 |
|
109 |
+ |
|
108 | 110 |
admMbrDTO = admMbrDAO.mbrDetail(mbrId); |
109 | 111 |
|
110 | 112 |
// 휴대폰번호 복호화 |
... | ... | @@ -116,6 +118,10 @@ |
116 | 118 |
if (admMbrDTO.getTelno() != null && !admMbrDTO.getTelno().equals("")) { |
117 | 119 |
admMbrDTO.setTelno(Secret.decrypt(admMbrDTO.getTelno())); |
118 | 120 |
} |
121 |
+ |
|
122 |
+ // SNS 연계 정보 조회 |
|
123 |
+ List<MberSocialAccountVO> socialAccountList = mberDAO.findSocialAccountsByMbrId(admMbrDTO.getMbrId(), false); |
|
124 |
+ admMbrDTO.setSocialAccountList(socialAccountList); |
|
119 | 125 |
} |
120 | 126 |
// mbrId가 없는 경우 |
121 | 127 |
else { |
... | ... | @@ -148,7 +154,7 @@ |
148 | 154 |
@Transactional(rollbackFor = Exception.class) |
149 | 155 |
public int updateMbr(AdmMbrDTO admMbrDTO){ |
150 | 156 |
try { |
151 |
- // 이메일 중복 검사 |
|
157 |
+ // 이메일 중복 검사 #수정 시에는 이메일 변경 불가 처리 |
|
152 | 158 |
if (admMbrDTO.getEml() != null || !admMbrDTO.getEml().isEmpty()) { |
153 | 159 |
HashMap<String, Object> emlParams = new HashMap<>(); |
154 | 160 |
emlParams.put("eml", admMbrDTO.getEml()); |
... | ... | @@ -202,6 +208,22 @@ |
202 | 208 |
} |
203 | 209 |
} |
204 | 210 |
} |
211 |
+ |
|
212 |
+ |
|
213 |
+ // SNS 연계 정보 조회 |
|
214 |
+// List<MberSocialAccountVO> socialAccountList = mberDAO.findSocialAccountsByMbrId(admMbrDTO.getMbrId(), false); |
|
215 |
+ // 연동된 연계 정보가 없을 시 SNS 연계 정보 수정 (1개 = 시스템 계정) #수정 시에는 이메일 변경 불가 처리 |
|
216 |
+// if(socialAccountList.size() == 1) { |
|
217 |
+// HashMap<String, Object> params = new HashMap<>(); |
|
218 |
+// params.put("lgnOffrType", 'S'); |
|
219 |
+// params.put("snsEml", admMbrDTO.getEml()); |
|
220 |
+// params.put("mbrId", admMbrDTO.getMbrId()); |
|
221 |
+// params.put("mdfr", admMbrDTO.getMdfr()); |
|
222 |
+// int emlResult = mberDAO.updateSocialAccountEmail(params); |
|
223 |
+// if (emlResult == 0) { |
|
224 |
+// throw new CustomUpdateFailException("SNS 연계 이메일 수정에 실패했습니다."); |
|
225 |
+// } |
|
226 |
+// } |
|
205 | 227 |
} else { // 회원 탈퇴일 경우 관련 정보 삭제 |
206 | 228 |
// 부서 사용자 삭제 |
207 | 229 |
DeptMbrVO deptMbrVO = new DeptMbrVO(); |
--- src/main/resources/mybatis/mapper/mber/mber-SQL.xml
+++ src/main/resources/mybatis/mapper/mber/mber-SQL.xml
... | ... | @@ -476,6 +476,19 @@ |
476 | 476 |
mdfcn_dt = NOW() |
477 | 477 |
</insert> |
478 | 478 |
|
479 |
+ <!-- 소셜 계정 이메일 수정 --> |
|
480 |
+ <update id="updateSocialAccountEmail" parameterType="map"> |
|
481 |
+ UPDATE mbr_sns_acnt_info |
|
482 |
+ SET sns_eml = #{snsEml}, |
|
483 |
+ mdfr = #{mdfr}, |
|
484 |
+ mdfcn_dt = NOW() |
|
485 |
+ WHERE mbr_id = #{mbrId} |
|
486 |
+ AND link_vtlz_yn = true |
|
487 |
+ <if test="lgnOffrType != null and lgnOffrType != ''"> |
|
488 |
+ AND lgn_offr_type = #{lgnOffrType} |
|
489 |
+ </if> |
|
490 |
+ </update> |
|
491 |
+ |
|
479 | 492 |
<!-- 소셜 계정 연동 해지 --> |
480 | 493 |
<update id="unlinkSocialAccount" parameterType="map"> |
481 | 494 |
UPDATE mbr_sns_acnt_info |
... | ... | @@ -493,6 +506,7 @@ |
493 | 506 |
<update id="reLinkSocialAccount" parameterType="map"> |
494 | 507 |
UPDATE mbr_sns_acnt_info |
495 | 508 |
SET link_vtlz_yn = true, |
509 |
+ link_cncltn_dt = NULL, |
|
496 | 510 |
mdfr = #{mdfr}, |
497 | 511 |
mdfcn_dt = NOW() |
498 | 512 |
WHERE mbr_id = #{mbrId} |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?