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

import jakarta.annotation.Resource;

import lombok.extern.slf4j.Slf4j;

import org.jeecg.modules.adweb.seo.mapper.SeoKeywordsSerpMapper;
import org.jeecg.modules.adweb.seo.service.ISeoMonthPdfService;
import org.jeecg.modules.adweb.seo.vo.KeywordsInfoVO;
import org.jeecg.modules.adweb.seo.vo.MonthPdfKeywordsRankVO;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.util.List;

/**
 * @author Zenas
 */
@Service
@Slf4j
public class SeoMonthPdfServiceImpl implements ISeoMonthPdfService {

    @Resource private SeoKeywordsSerpMapper seoKeywordsSerpMapper;

    @Override
    public MonthPdfKeywordsRankVO getSeoKeywordsRank(String siteCode, String exportMonth) {
        //        String lastDayOfMonth = getLastDayOfMonth(exportMonth);
        String lastDayOfMonth = "2024-11-25";
        List<KeywordsInfoVO> seoKeywordsRank =
                seoKeywordsSerpMapper.getSeoKeywordsRank(siteCode, lastDayOfMonth, 1, 50);
        List<KeywordsInfoVO> seoKeywordsRank2 =
                seoKeywordsSerpMapper.getSeoKeywordsRank(siteCode, lastDayOfMonth, 2, 50);
        MonthPdfKeywordsRankVO monthPdfKeywordsRankVO = new MonthPdfKeywordsRankVO();
        monthPdfKeywordsRankVO.setAppointKeywordsInfoList(seoKeywordsRank);
        monthPdfKeywordsRankVO.setLongTailKeywordsInfoList(seoKeywordsRank2);
        return monthPdfKeywordsRankVO;
    }

    public static String getLastDayOfMonth(String month) {
        // 解析输入的月份字符串为LocalDate对象
        LocalDate date = LocalDate.parse(month + "-01");
        // 使用TemporalAdjusters类的lastDayOfMonth()方法获取该月的最后一天
        LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth());
        // 返回最后一天的字符串表示
        return lastDay.toString();
    }
}
