package com.pig4cloud.pig.marketing.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pig4cloud.pig.marketing.api.dto.MktMgmtPushRecordQueryDTO;
import com.pig4cloud.pig.marketing.api.dto.MktMgmtPushRecordSaveDTO;
import com.pig4cloud.pig.marketing.api.entity.MktMgmtPushRecord;
import com.pig4cloud.pig.marketing.api.vo.rule.StatKeywordVO;
import jakarta.validation.constraints.NotNull;

import java.util.List;

/**
 * @author: wcl
 * @date: 2025-08-31
 * @description: 营销推送记录Service
 */
public interface MktMgmtPushRecordService {

    /**
     * 分页查询营销推送记录
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    Page<MktMgmtPushRecord> pageQuery(MktMgmtPushRecordQueryDTO queryDTO);

    	/**
	 * 新增营销推送记录
	 * @param saveDTO 新增数据
	 * @return 成功时返回记录ID，失败时返回详细错误信息
	 */
	String saveRecord(MktMgmtPushRecordSaveDTO saveDTO);

	/**
	 * 统计关键词
	 * @param days 统计天数
	 * @return 统计结果
	 */
	List<StatKeywordVO> statKeyword(@NotNull(message = "统计天数不能为空") Integer days);
}
