package com.style24.front.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.GiftCard;
import com.style24.persistence.domain.Point;

/**
 * 포인트 Dao
 * 
 * @author gagamel
 * @since 2020. 12. 29
 */
@ShopDs
public interface TsfPointDao {
	
	/**
	 * 사용가능 포인트조회
	 *
	 * @param point
	 * @return int - 사용가능포인트
	 * @author csh9191
	 * @since 2021. 02. 25
	 */	
	int getUsablePointInfo(Point point);

	/**
	 * 적립예정 포인트조회
	 *
	 * @param point
	 * @return int - 적립예정 포인트
	 * @author csh9191
	 * @since 2021. 02. 25
	 */
	int getExpectedPointInfo(Point point);

	/**
	 * 30일이내 소멸예정 포인트조회
	 *
	 * @param point
	 * @return int - 30일 이내 소멸예정포인트
	 * @author csh9191
	 * @since 2021. 02. 25
	 */
	int getExtinctPointInfo(Point point);
	
	/**
	 * 마이페이지 STYLE24 포인트 전체
	 *
	 * @param point
	 * @return Collection<Point> - 전체
	 * @author csh9191
	 * @since 2021. 03. 03
	 */
	Collection<Point> getAllPointList(Point point);

	/**
	 * 마이페이지 STYLE24 포인트 적립
	 *
	 * @param point
	 * @return Collection<Point> - 적립내역
	 * @author csh9191
	 * @since 2021. 03. 03
	 */
	Collection<Point> getAccumulatePointList(Point point);

	/**
	 * 마이페이지 STYLE24 포인트 사용내역
	 *
	 * @param point
	 * @return Collection<Point> - 사용내역
	 * @author csh9191
	 * @since 2021. 03. 03
	 */
	Collection<Point> getUsePointList(Point point);

	/**
	 * 마이페이지 > 회원탈퇴 > 고객 포인트 정보
	 *
	 * @param point - 고객번호 , 사이트코드
	 * @return Point - 고객 포인트 정보
	 * @author jsshin
	 * @since 2021. 03. 23
	 */
	Point getCustomerPoint(Point point);
	
	/**
	 * 포인트 최근 12개월 년 월
	 *
	 * @param 
	 * @author sowon
	 * @since 2021. 3. 30
	 */
	 Collection<Point> getRecentlyDate();

}
