package incheon.ags.ias.spceUtlz.service;

import incheon.ags.ias.spceUtlz.vo.GisIndicatorVO;
import incheon.ags.ias.spceUtlz.vo.SpceUtlzSearchVO;
import incheon.ags.ias.spceUtlz.vo.SpceUtlzVO;

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

public interface SpceUtlzService {

    /**
     * 주간 사용자 공간정보 활용 탑10 조회
     */
    List<SpceUtlzVO> selectWeeklyTop10Users(SpceUtlzSearchVO searchVO) throws Exception;

    /**
     * 사용자 공간정보 활용 전체 조회 (엑셀용)
     */
    List<SpceUtlzVO> selectWeeklyTop10UsersForExcel(SpceUtlzSearchVO searchVO) throws Exception;

    /**
     * 총 개수 조회 (기존)
     */
    int selectSpceListTotCnt(SpceUtlzSearchVO searchVO) throws Exception;

    /**
     * GIS 지표 공통코드 조회
     */
    List<GisIndicatorVO> selectGisIndicators() throws Exception;

    /**
     * GIS 지표 가중치 일괄 수정
     */
    void updateGisIndicatorWeights(List<GisIndicatorVO> indicators, String userId) throws Exception;

    /**
     * 지표별 사용 건수 통계 조회
     */
    List<SpceUtlzVO> selectIndicatorStats(SpceUtlzSearchVO searchVO) throws Exception;
}
