From 7a8ec86642d28c65fbb7cf1025db8dd11b746630 Mon Sep 17 00:00:00 2001 From: infraurp Date: Tue, 11 Aug 2026 10:52:44 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EC=9D=B8=EC=A0=95=EB=B3=B4=EB=B3=B4?= =?UTF-8?q?=ED=98=B8=20=EA=B8=B0=EB=8A=A5=EA=B0=9C=EC=84=A0=206=EC=B0=A8?= =?UTF-8?q?=20=E2=80=94=20DtaUseStatsVO=20userNmSe=20=EB=88=84=EB=9D=BD?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20=EA=B8=B0=EB=8F=99?= =?UTF-8?q?=EC=8B=A4=ED=8C=A8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 545b49d(4차 델타)에서 EgovDtaUseStats_SQL_Mysql.xml resultMap에 userNmSe 컬럼 매핑만 추가하고 대응 Java 필드/DAO 조건부복호화 배선을 누락했다. iBatis2는 이 프로퍼티 부재를 컴파일타임이 아닌 Spring 컨텍스트 기동시 sql-map-config 전체 파싱 단계에서 검증하므로, 컴파일은 성공했지만 실제 WAS 재기동 시 ProbeException으로 컨텍스트 전체가 기동 실패해 로컬 ROOT가 다운되는 사고로 이어졌다. - DtaUseStats.java: userNmSe 필드 + getter/setter 추가 - DtaUseStatsDAO.selectDtaUseStats(): GNR일 때만 조건부 복호화 배선 재기동 후 컨텍스트 정상 기동 확인(오류 0건), /frt/main.do 200, /mnt/sec/accountPolicy/policyView.do 302로 검증. Co-Authored-By: Claude Sonnet 5 --- .../egovframework/com/sts/dst/service/DtaUseStats.java | 10 ++++++++++ .../com/sts/dst/service/impl/DtaUseStatsDAO.java | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/egovframework/com/sts/dst/service/DtaUseStats.java b/src/main/java/egovframework/com/sts/dst/service/DtaUseStats.java index 6c9b002..c04d111 100644 --- a/src/main/java/egovframework/com/sts/dst/service/DtaUseStats.java +++ b/src/main/java/egovframework/com/sts/dst/service/DtaUseStats.java @@ -208,6 +208,16 @@ public class DtaUseStats extends ComDefaultVO { public void setUserNm(String userNm) { this.userNm = userNm; } + /** + * userNm(COMVNUSERMASTER.USER_NM) 출처 회원유형(GNR/USR/ENT/GRO, 개인정보보호 기능개선 사업 추가제안 Action4, 2026-08-10). + */ + private String userNmSe; + public String getUserNmSe() { + return userNmSe; + } + public void setUserNmSe(String userNmSe) { + this.userNmSe = userNmSe; + } /** * @return the regdate */ diff --git a/src/main/java/egovframework/com/sts/dst/service/impl/DtaUseStatsDAO.java b/src/main/java/egovframework/com/sts/dst/service/impl/DtaUseStatsDAO.java index a2e926e..a873473 100644 --- a/src/main/java/egovframework/com/sts/dst/service/impl/DtaUseStatsDAO.java +++ b/src/main/java/egovframework/com/sts/dst/service/impl/DtaUseStatsDAO.java @@ -16,6 +16,7 @@ import java.util.List; import org.springframework.stereotype.Repository; +import egovframework.com.cmm.privacy.crypto.MemberNmDecryptSupport; import egovframework.com.cmm.service.impl.EgovComAbstractDAO; import egovframework.com.sts.dst.service.DtaUseStats; import egovframework.com.sts.dst.service.DtaUseStatsVO; @@ -58,7 +59,13 @@ public class DtaUseStatsDAO extends EgovComAbstractDAO { */ @SuppressWarnings("unchecked") public List selectDtaUseStats(DtaUseStatsVO dtaUseStatsVO) throws Exception { - return list("dtaUseStatsDAO.selectDtaUseStats", dtaUseStatsVO); + List result = list("dtaUseStatsDAO.selectDtaUseStats", dtaUseStatsVO); + for (DtaUseStatsVO row : result) { + if (row != null && "GNR".equals(row.getUserNmSe())) { + MemberNmDecryptSupport.decryptInPlace(row, "userNm"); + } + } + return result; } /**