package com.takensoft.cms.mber.service; import com.takensoft.cms.mber.vo.LgnHstryVO; import com.takensoft.cms.mber.vo.MberVO; import jakarta.servlet.http.HttpServletRequest; import java.util.HashMap; /** * @author takensoft * @since 2024.04.09 * @modification * since | author | description * 2024.04.09 | takensoft | 최초 등록 * 2025.06.18 | takensoft | 로그인 이력 저장 메서드 추가 및 통합 * * 로그인 이력 정보 관련 인터페이스 - 통합 로그인 이력 저장 기능 추가 */ public interface LgnHstryService { /** * @param lgnHstryVO - 로그인 이력 정보 * @return int - 로그인 이력 결과 * * 로그인 이력 등록 (기존 메서드) */ int LgnHstrySave(LgnHstryVO lgnHstryVO); /** * @param mber - 회원 정보 * @param request - HTTP 요청 객체 * @param loginType - 로그인 타입 ("SYSTEM", "OAUTH2", etc.) * @return int - 로그인 이력 저장 결과 * * 통합 로그인 이력 저장 메서드 - 모든 로그인 방식에서 사용 */ int saveLoginHistory(MberVO mber, HttpServletRequest request, String loginType); /** * @param mber - 회원 정보 * @param request - HTTP 요청 객체 * @return int - 로그인 이력 저장 결과 * * 시스템 로그인 이력 저장 */ int saveSystemLoginHistory(MberVO mber, HttpServletRequest request); /** * @param mber - 회원 정보 * @param request - HTTP 요청 객체 * @param provider - OAuth2 제공자 (kakao, naver, google 등) * @return int - 로그인 이력 저장 결과 * * OAuth2 로그인 이력 저장 */ int saveOAuth2LoginHistory(MberVO mber, HttpServletRequest request, String provider); /** * @param params -회원정보 * @return HashMap * - list : 로그인 이력 목록 * - pagination : 페이징 정보 * - codeList : 공통 코드 조회(로그인이력) * * 로그인 이력 목록 조회 */ HashMap lgnHstryList(HashMap params); }