package com.style24.admin.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Menu;
import com.style24.persistence.domain.User;

/**
 * 운영관리 Dao
 * @author gagamel
 * @since 2019. 12. 4
 */
@ShopDs
public interface TsaLoginDao {

	/**
	 * ID로 사용자 정보 조회
	 * @param userId - 사용자ID
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 5
	 */
	User getUserById(String userId);

	/**
	 * 로그인실패 남기기
	 * @param user - 사용자정보
	 * @author gagamel
	 * @date 2020. 10. 5
	 */
	void createLoginFail(User user);

	/**
	 * 로그인 실패건수 조회
	 * @param user - 사용자정보
	 * @return 로그인 실패건수
	 * @author gagamel
	 * @date 2020. 10. 5
	 */
	int getLoginFailCount(User user);

	/**
	 * 최종로그인일시 Update
	 * @param userNo - 사용자번호
	 * @author gagamel
	 * @since 2020. 10. 5
	 */
	void updateLastLoginDate(Integer userNo);

	/**
	 * 로그인이력 남기기
	 * @param user - 사용자정보
	 * @author gagamel
	 * @date 2020. 10. 5
	 */
	void createLoginHistory(User user);

	/**
	 * 로그인 메뉴 목록
	 * @param userNo - 사용자번호
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 5
	 */
	Collection<Menu> getLoginMenuList(Integer userNo);

}
