package com.takensoft.cms.cntnStats.dao;

import com.takensoft.cms.cntnStats.vo.CntnStatsVO;
import com.takensoft.cms.popup.vo.PopupVO;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

import java.util.HashMap;
import java.util.List;

/**
 * @author  : takensoft
 * @since   : 2024.05.23
 *
 * 접속통계 관련 Mapper
 */
@Mapper("cntnStatsDAO")
public interface CntnStatsDAO {

    /**
     * @author takensoft
     * @since 2024.05.23
     * 사용자 접속 통계 등록 검증
     */
    boolean userCntnStatsSaveChck(CntnStatsVO cntnStatsVO);

    /**
     * @author takensoft
     * @since 2024.05.23
     * 사용자 접속 통계 등록
     */
    int userCntnStatsSave(CntnStatsVO cntnStatsVO);

    /**
     * @author takensoft
     * @since 2024.05.23
     * 사용자 접속 통계 수정
     */
    int userCntnStatsUpdate(CntnStatsVO cntnStatsVO);

    /**
     * @author takensoft
     * @since 2024.05.23
     * 컨텐츠 접속 통계 등록 검증
     */
    boolean contsCntnStatsSaveChck(CntnStatsVO cntnStatsVO);

    /**
     * @author takensoft
     * @since 2024.05.23
     * 컨텐츠 접속 통계 등록
     */
    int contsCntnStatsSave(CntnStatsVO cntnStatsVO);

    /**
     * @author takensoft
     * @since 2024.05.23
     * 컨텐츠 접속 통계 수정
     */
    int contsCntnStatsUpdate(CntnStatsVO cntnStatsVO);

    /**
     * @author takensoft
     * @since 2024.05.23
     * 게시판 접속 통계 등록 검증
     */
    boolean bbsCntnStatsSaveChck(CntnStatsVO cntnStatsVO);
    /**
     * @author takensoft
     * @since 2024.05.23
     * 게시판 접속 통계 등록
     */
    int bbsCntnStatsSave(CntnStatsVO cntnStatsVO);
    /**
     * @author takensoft
     * @since 2024.05.23
     * 컨텐츠 접속 통계 수정
     */
    int bbsCntnStatsUpdate(CntnStatsVO cntnStatsVO);

    /**
     * @author takensoft
     * @since 2024.05.23
     * 메뉴 접속 통계 등록 검증
     */
    boolean menuCntnStatsSaveChck(CntnStatsVO cntnStatsVO);
    /**
     * @author takensoft
     * @since 2024.05.23
     * 메뉴 접속 통계 등록
     */
    int menuCntnStatsSave(CntnStatsVO cntnStatsVO);
    /**
     * @author takensoft
     * @since 2024.05.23
     * 메뉴 접속 통계 수정
     */
    int menuCntnStatsUpdate(CntnStatsVO cntnStatsVO);

    /**
     * @author 박정하
     * @since 2024.05.29
     *
     * 사용자 접속 통계
     */
    public List<HashMap<String, Object>> selectUserCntnStats(HashMap<String, Object> params) throws Exception;

    /**
     * @author 박정하
     * @since 2024.05.29
     *
     * 사용자 접속 통계 총 개수
     */
    public int selectUserCntnStatsCnt(HashMap<String, Object> params) throws Exception;

    /**
     * @author 박정하
     * @since 2024.05.30
     *
     * 메뉴별 접속 통계
     */
    public List<HashMap<String, Object>> selectMenuCntnStats(HashMap<String, Object> params) throws Exception;

    /**
     * @author 박정하
     * @since 2024.05.30
     *
     * 메뉴별 접속 통계 총 개수
     */
    public int selectMenuCntnStatsCnt(HashMap<String, Object> params) throws Exception;

    /**
     * @author 박정하
     * @since 2024.05.30
     *
     * 게시판 접속 통계
     */
    public List<HashMap<String, Object>> selectBbsCntnStats(HashMap<String, Object> params) throws Exception;

    /**
     * @author 박정하
     * @since 2024.05.30
     *
     * 게시판 접속 통계 총 개수
     */
    public int selectBbsCntnStatsCnt(HashMap<String, Object> params) throws Exception;
}