하석형 하석형 06-26
250626 하석형 회원정보 존재 조회, 새 비밀번호 설정
@46b0cd1f77bd21b16c6f44e30566eb1500f1293b
src/main/java/com/takensoft/cms/mber/dao/AdmMbrDAO.java
--- src/main/java/com/takensoft/cms/mber/dao/AdmMbrDAO.java
+++ src/main/java/com/takensoft/cms/mber/dao/AdmMbrDAO.java
@@ -78,12 +78,12 @@
     public int mbrInsert(JoinDTO joinDTO);
 
     /**
-     * @param mbrVO - 회원 정보 관련 VO
+     * @param admMbrDTO - 회원 정보 관련 DTO
      * @return String - 로그인 아이디
      *
-     * 아이디 찾기 (로그인 아이디)
+     * 이메일로 아이디 찾기
      */
-    public String lgnIdSearch(MberVO mbrVO);
+    public String lgnIdSearchByEml(AdmMbrDTO admMbrDTO);
 
     /**
      * @param admMbrDTO - 회원정보 관련 DTO
src/main/java/com/takensoft/cms/mber/service/AdmMbrService.java
--- src/main/java/com/takensoft/cms/mber/service/AdmMbrService.java
+++ src/main/java/com/takensoft/cms/mber/service/AdmMbrService.java
@@ -14,6 +14,7 @@
  * @modification
  *     since    |    author    | description
  *  2024.06.21  |    박정하     | 최초 등록
+ *  2025.06.26  |    하석형     | mbrIdSearch, setNewPswdProc 추가
  *
  * 회원정보 관련 인터페이스
  */
@@ -56,19 +57,26 @@
     public HashMap<String, Object> mbrInsert(HttpServletRequest req, JoinDTO joinDTO);
 
     /**
-     * @param mbrVO -회원정보
+     * @param admMbrDTO -회원정보
      * @return String - 로그인 아이디
      *
      * 아이디 찾기 (로그인 아이디)
      */
-    public String lgnIdSearch(MberVO mbrVO);
-
+    public String lgnIdSearch(AdmMbrDTO admMbrDTO);
+    
     /**
-     * @param resetPswd -초기화비밀번호
      * @param admMbrDTO -회원정보
-     * @return int - 회원정보 등록 결과
+     * @return String - 회원 아이디
      *
      * 아이디 찾기 (회원 아이디)
      */
-    public int mbrIdSearch(String resetPswd, AdmMbrDTO admMbrDTO);
+    public String mbrIdSearch(AdmMbrDTO admMbrDTO);
+    
+    /**
+     * @param admMbrDTO -회원정보
+     * @return int - 비밀번호 수정 응답 결과
+     *
+     * 새 비밀번호 설정
+     */
+    public int setNewPswdProc(AdmMbrDTO admMbrDTO);
 }
(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/cms/mber/service/Impl/AdmMbrServiceImpl.java
--- src/main/java/com/takensoft/cms/mber/service/Impl/AdmMbrServiceImpl.java
+++ src/main/java/com/takensoft/cms/mber/service/Impl/AdmMbrServiceImpl.java
@@ -36,6 +36,7 @@
  * @modification
  *     since    |    author    | description
  *  2024.06.21  |    박정하     | 최초 등록
+ *  2025.06.26  |    하석형     | mbrIdSearch, setNewPswdProc 추가
  *
  * EgovAbstractServiceImpl : 전자정부 상속
  * AdmMbrService : 회원정보 인터페이스 상속
@@ -323,16 +324,24 @@
     }
 
     /**
-     * @param mbrVO -회원정보
+     * @param admMbrDTO -회원정보
      * @return String - 로그인 아이디
      * @throws DataAccessException - db 관련 예외 발생 시
      * @throws Exception - 그 외 예외 발생 시
      *
      * 아이디 찾기 (로그인 아이디)
      */
-    public String lgnIdSearch(MberVO mbrVO){
+    public String lgnIdSearch(AdmMbrDTO admMbrDTO){
         try {
-            return admMbrDAO.lgnIdSearch(mbrVO);
+            String lgnId = null;
+            if(admMbrDTO.getEml() != null || !admMbrDTO.getEml().isEmpty()) {
+                // 이메일로 아이디 찾기
+                lgnId = admMbrDAO.lgnIdSearchByEml(admMbrDTO);
+            } else if(admMbrDTO.getMblTelno() != null || !admMbrDTO.getMblTelno().isEmpty()) {
+                // 휴대폰 번호로 아이디 찾기
+//                lgnId = admMbrDAO.lgnIdSearchByMblTelno(mbrVO);
+            }
+            return lgnId;
         } catch (DataAccessException dae) {
             throw dae;
         } catch (Exception e) {
@@ -341,22 +350,43 @@
     }
 
     /**
-     * @param resetPswd -초기화비밀번호
      * @param admMbrDTO -회원정보
-     * @return int - 회원정보 등록 결과
+     * @return String - 회원 아이디
      * @throws DataAccessException - db 관련 예외 발생 시
      * @throws Exception - 그 외 예외 발생 시
      *
      * 아이디 찾기 (회원 아이디)
      */
-    public int mbrIdSearch(String resetPswd, AdmMbrDTO admMbrDTO){
+    public String mbrIdSearch(AdmMbrDTO admMbrDTO){
         try {
+            // 회원 아이디 조회
             String mbrId = admMbrDAO.mbrIdSearch(admMbrDTO);
+
+            return mbrId;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+
+    /**
+     * @param admMbrDTO -회원정보
+     * @return int - 비밀번호 수정 응답 결과
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
+     *
+     * 새 비밀번호 설정
+     */
+    public int setNewPswdProc(AdmMbrDTO admMbrDTO){
+        try {
+            // 회원 아이디 조회
+            String mbrId = mbrIdSearch(admMbrDTO);
 
             PasswordDTO passwordDTO = new PasswordDTO();
             passwordDTO.setMbrId(mbrId);
-            passwordDTO.setPswd(admMbrDTO.getPswd());
-            passwordDTO.setNewPswd(resetPswd);
+            passwordDTO.setPswd("");
+            passwordDTO.setNewPswd(admMbrDTO.getPswd());
             passwordDTO.setMdfr("SYSTEM"); // 비로그인 수정이기 때문에 시스템 변경
 
             // 비밀번호 변경
src/main/java/com/takensoft/cms/mber/web/AdmMbrController.java
--- src/main/java/com/takensoft/cms/mber/web/AdmMbrController.java
+++ src/main/java/com/takensoft/cms/mber/web/AdmMbrController.java
@@ -32,6 +32,7 @@
  * @modification
  *     since    |    author    | description
  *  2024.06.21  |    박정하     | 최초 등록
+ *  2025.06.26  |    하석형     | existMbrProc, setNewPswdProc 추가
  *
  * 회원정보 관련 Controller
  */
@@ -80,7 +81,7 @@
 
     /**
      * @param admMbrDTO - 회원정보
-     * @return ResponseEntity - 회회원정보 상세 조회 응답 결과
+     * @return ResponseEntity - 회원정보 상세 조회 응답 결과
      *
      * 회원정보 상세 조회
      */
@@ -138,40 +139,52 @@
         return resUtil.successRes(result, MessageCode.SIGNUP_SUCCESS);
     }
     /**
-     * @param mbrVO - 회원정보
+     * @param admMbrDTO - 회원정보
      * @return ResponseEntity - 아이디 찾기 응답 결과
      *
      * 아이디 찾기
      */
     @PostMapping(value = "/searchIdProc.json")
-    public ResponseEntity<?> searchIdProc(@RequestBody MberVO mbrVO) {
-        String result = admMbrService.lgnIdSearch(mbrVO);
+    public ResponseEntity<?> searchIdProc(@RequestBody AdmMbrDTO admMbrDTO) {
+        String result = admMbrService.lgnIdSearch(admMbrDTO);
 
-        // 응답 처리
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
-        ResponseData responseData = new ResponseData();
         if(result != null) {
             return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
         } else {
             return resUtil.errorRes(MessageCode.LOGIN_USER_NOT_FOUND);
         }
     }
-    /**
-     * @param resetPswd -초기화비밀번호
-     * @param admMbrDTO -회원정보
-     * @return ResponseEntity - 비밀번호 초기화 응답 결과
-     *
-     * 비밀번호 초기화
-     */
-    @PostMapping(value = "/resetPswdProc.json")
-    public ResponseEntity<?> resetPswdProc(@Value("${password.reset}") String resetPswd, @RequestBody AdmMbrDTO admMbrDTO){
-        int result = admMbrService.mbrIdSearch(resetPswd, admMbrDTO);
 
-        // 응답 처리
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
-        ResponseData responseData = new ResponseData();
+    /**
+     * @param admMbrDTO -회원정보
+     * @return ResponseEntity - 회원정보 존재 확인 응답 결과
+     *
+     * 회원정보 존재 확인
+     */
+    @PostMapping(value = "/existMbrProc.json")
+    public ResponseEntity<?> existMbrProc(@RequestBody AdmMbrDTO admMbrDTO){
+        boolean result = false;
+        if(admMbrService.mbrIdSearch(admMbrDTO) != null) {
+            result = true; // 회원 아이디가 존재하는 경우
+        }
+
+        if(result) {
+            return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
+        } else {
+            return resUtil.errorRes(MessageCode.LOGIN_USER_NOT_FOUND);
+        }
+    }
+
+    /**
+     * @param admMbrDTO -회원정보
+     * @return ResponseEntity - 비밀번호 수정 응답 결과
+     *
+     * 새 비밀번호 설정
+     */
+    @PostMapping(value = "/setNewPswdProc.json")
+    public ResponseEntity<?> setNewPswdProc(@RequestBody AdmMbrDTO admMbrDTO){
+        int result = admMbrService.setNewPswdProc(admMbrDTO);
+
         if(result > 0) {
             return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
         } else {
src/main/java/com/takensoft/cms/mber/web/MberController.java
--- src/main/java/com/takensoft/cms/mber/web/MberController.java
+++ src/main/java/com/takensoft/cms/mber/web/MberController.java
@@ -63,4 +63,19 @@
         boolean isExistence = mberService.passwordCheck(passwordDTO);
         return resUtil.successRes(isExistence, MessageCode.COMMON_SUCCESS);
     }
+
+    /**
+     * @param params - 이메일
+     * @return ResponseEntity - 이메일 중복 검사 결과
+     *
+     * 이메일 중복 검사
+     */
+    @PostMapping(value = "/findByCheckEmail.json")
+    public ResponseEntity<?> findByCheckEmail(@RequestBody HashMap<String, Object> params){
+        // 상세 조회
+        boolean result = mberService.findByCheckEmail(params);
+
+        // 응답 처리
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
+    }
 }
(파일 끝에 줄바꿈 문자 없음)
src/main/resources/mybatis/mapper/mber/admMbr-SQL.xml
--- src/main/resources/mybatis/mapper/mber/admMbr-SQL.xml
+++ src/main/resources/mybatis/mapper/mber/admMbr-SQL.xml
@@ -283,28 +283,26 @@
     </insert>
 
     <!--
-        작 성 자 : 박정하
-        작 성 일 : 2024.07.03
-        내   용 : 아이디 찾기 (로그인 아이디)
+        작 성 자 : 하석형
+        작 성 일 : 2025.06.26
+        내   용 : 이메일로 아이디 찾기 (로그인 아이디)
     -->
-    <select id="lgnIdSearch" parameterType="MberVO" resultType="String">
+    <select id="lgnIdSearchByEml" parameterType="AdmMbrDTO" resultType="String">
         SELECT lgn_id
           FROM mbr_info
-         WHERE mbr_nm = #{mbrNm}
-           AND eml = #{eml}
+         WHERE eml = #{eml}
            AND use_yn = 'Y'
     </select>
 
     <!--
         작 성 자 : 박정하
         작 성 일 : 2024.07.03
-        내   용 : 아이디 찾기 (멤버 아이디)
+        내   용 : 아이디 찾기 (회원 아이디)
     -->
     <select id="mbrIdSearch" parameterType="AdmMbrDTO" resultType="String">
         SELECT mbr_id
         FROM mbr_info
         WHERE lgn_id = #{lgnId}
-          AND mbr_nm = #{mbrNm}
           AND eml = #{eml}
           AND use_yn = 'Y'
     </select>
Add a comment
List