package org.jeecg.modules.adweb.seo.service;

import org.apache.poi.ss.usermodel.Sheet;
import org.jeecg.modules.adweb.seo.dto.ComprehensiveStatistics;
import org.jeecg.modules.adweb.seo.entity.SeoKeywords;
import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
import org.jeecg.modules.adweb.seo.vo.SeoRankInfoVO;
import org.jeecg.modules.adweb.site.entity.AdwebSite;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * @Description: seo_kpi_statistics
 * @Author: jeecg-boot
 * @Date: 2024-10-09
 * @Version: V1.0
 */
public interface ISeoKeywordsRankService {

    List<AdwebSite> getAllSites();

    ComprehensiveStatistics getComprehensiveInfo(String siteCode);

    Map getRankInfo(String siteCode) throws ParseException;

    List<SeoRankInfoVO> getSeoRankInfo(String siteCode, String historyId) throws ParseException;

    void addRankInfoByIntervalTimeByType(
            List<SeoKeywords> keywordList,
            Integer keywordType,
            String siteCode,
            String historyId,
            List<String> dateList)
            throws Exception;

    void setSizeColumn(Sheet sheet, int size);

    List<SeoPlanSubscription> getSubscriptionIdBySiteCode(String siteCode);
}
