package com.takensoft.cms.cntnStats.service;

import com.takensoft.cms.cntnStats.dto.CntnStatsDTO;
import com.takensoft.cms.popup.vo.PopupVO;

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

/**
 * @author takensoft
 * @since 2024.05.23
 * @modification
 *     since    |    author    | description
 *  2024.05.23  |  takensoft   | 최초 등록
 *  2024.05.29  |    박정하     | userCntnStatsSelect 추가
 *  2024.05.30  |    박정하     | menuCntnStatsSelect, bbsCntnStatsSelect 추가
 *  2025.03.17  |    방선주     | 코드 리펙토링
 *
 * 접속통계 관련 인터페이스
 */
public interface CntnStatsService {

    /**
     * @param cntnStatsDTO - 접속 통계 DTO
     * @return int - 접속 통계 등록 결과
     *
     * 접속 통계 등록
     */
    int cntnStatsSave(CntnStatsDTO cntnStatsDTO);

    /**
     * @param params - 통계 조회 조건
     * @return HashMap<String, Object> - 사용자 접속 통계 결과
     *
     * 사용자 접속 통계
     *
     */
    HashMap<String, Object> userCntnStatsSelect(HashMap<String, Object> params);

    /**
     * @param params - 통계 조회 조건
     * @return HashMap<String, Object> - 메뉴별 접속 통계 결과
     *
     * 메뉴별 접속 통계
     */
    HashMap<String, Object> menuCntnStatsSelect(HashMap<String, Object> params);

    /**
     * @param params - 통계 조회 조건
     * @return boolean - 게시판 접속 통계 결과
     *
     * 게시판 접속 통계
     */
    HashMap<String, Object> bbsCntnStatsSelect(HashMap<String, Object> params);
}