박민혁 박민혁 07-14
250714 박민혁 아이디, 이메일 중복 여부 확인
@f925b5c4db6ab3c53a7b2298aa60df603671509c
src/main/java/kr/co/takensoft/ai/system/auth/dao/AuthDAO.java
--- src/main/java/kr/co/takensoft/ai/system/auth/dao/AuthDAO.java
+++ src/main/java/kr/co/takensoft/ai/system/auth/dao/AuthDAO.java
@@ -18,7 +18,7 @@
 public interface AuthDAO {
 
     /**
-     * @param member 사용자 정보
+     * @param memberVO 사용자 정보
      * @return 등록 성공 여부
      *
      * 사용자 회원 가입
@@ -32,4 +32,20 @@
      * 사용자 정보 개인 정보 조회
      */
     MemberVO findMemberInfo(String memberId) throws Exception;
+
+    /**
+     * @param loginId 사용자 로그인 아이디
+     * @return 아이디 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    int checkMemberId(String loginId) throws Exception;
+
+    /**
+     * @param email 사용자 아이디
+     * @return 이메일 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    int checkMemberEmail(String email) throws Exception;
 }
src/main/java/kr/co/takensoft/ai/system/auth/service/AuthService.java
--- src/main/java/kr/co/takensoft/ai/system/auth/service/AuthService.java
+++ src/main/java/kr/co/takensoft/ai/system/auth/service/AuthService.java
@@ -39,4 +39,19 @@
      */
     MemberVO findMemberInfo(String memberId);
 
+    /**
+     * @param loginId 사용자 로그인 아이디
+     * @return 아이디 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    int checkMemberId(String loginId) throws Exception;
+
+    /**
+     * @param email 사용자 아이디
+     * @return 이메일 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    int checkMemberEmail(String email) throws Exception;
 }
src/main/java/kr/co/takensoft/ai/system/auth/service/impl/AuthServiceImpl.java
--- src/main/java/kr/co/takensoft/ai/system/auth/service/impl/AuthServiceImpl.java
+++ src/main/java/kr/co/takensoft/ai/system/auth/service/impl/AuthServiceImpl.java
@@ -111,4 +111,24 @@
         }
     }
 
+    /**
+     * @param loginId 사용자 로그인 아이디
+     * @return 아이디 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    public int checkMemberId(String loginId) throws Exception{
+        return authDAO.checkMemberId(loginId);
+    }
+
+    /**
+     * @param email 사용자 아이디
+     * @return 이메일 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    public int checkMemberEmail(String email) throws Exception{
+        return authDAO.checkMemberEmail(Secret.encrypt(email));
+    }
+
 }
src/main/java/kr/co/takensoft/ai/system/auth/web/AuthController.java
--- src/main/java/kr/co/takensoft/ai/system/auth/web/AuthController.java
+++ src/main/java/kr/co/takensoft/ai/system/auth/web/AuthController.java
@@ -12,10 +12,7 @@
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -114,5 +111,31 @@
             return new ResponseEntity<>(result, HttpStatus.INTERNAL_SERVER_ERROR);
         }
     }
+    /**
+     * @param params 사용자 로그인 아이디
+     * @return 아이디 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    @PostMapping("/checkId.json")
+    public ResponseEntity<?> checkMemberId(@RequestBody HashMap<String, Object> params) throws Exception{
+        String loginId = (String) params.get("loginId");
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("result", authService.checkMemberId(loginId));
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
 
+    /**
+     * @param params 사용자 아이디
+     * @return 이메일 중복 여부
+     *
+     * 사용자 정보 개인 정보 조회
+     */
+    @PostMapping("/checkEmail.json")
+    public ResponseEntity<?> checkMemberEmail(@RequestBody HashMap<String, Object> params) throws Exception{
+        String email = (String) params.get("email");
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("result", authService.checkMemberEmail(email));
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
 }
(No newline at end of file)
src/main/resources/mybatis/mapper/auth/auth-SQL.xml
--- src/main/resources/mybatis/mapper/auth/auth-SQL.xml
+++ src/main/resources/mybatis/mapper/auth/auth-SQL.xml
@@ -46,4 +46,28 @@
         where login_id = #{loginId}
     </select>
 
+    <!--
+        작 성 자 : 박민혁
+        작 성 일 : 2025.07.11
+        내    용 : 아이디 중복 조회
+    -->
+    <select id="checkMemberId" parameterType="String" resultType="int">
+        select
+            count(*)
+        from member
+        where login_id = #{loginId}
+    </select>
+
+    <!--
+        작 성 자 : 박민혁
+        작 성 일 : 2025.07.11
+        내    용 : 이메일 중복 조회
+    -->
+    <select id="checkMemberEmail" parameterType="String" resultType="int">
+        select
+            count(*)
+        from member
+        where email = #{email}
+    </select>
+
 </mapper>
(No newline at end of file)
Add a comment
List