package com.fs.qw.service;

import com.fs.common.core.domain.R;
import com.fs.qw.domain.QwGroupchatStatistic;
import com.fs.qw.param.QwGroupchatStatisticParams;

/**
 * 企微群聊数据统计数据Service接口
 * 
 * @author qw
 * @date 2024-08-05
 */
public interface IQwGroupchatStatisticService 
{
    /**
     * 查询企微群聊数据统计数据
     * 
     * @param id 企微群聊数据统计数据主键
     * @return 企微群聊数据统计数据
     */
    public QwGroupchatStatistic selectQwGroupchatStatisticById(Long id);

    /**
     * 查询企微群聊数据统计数据列表
     * 
     * @param params 企微群聊数据统计数据
     * @return 企微群聊数据统计数据集合
     */
    public R selectQwGroupchatStatisticList(QwGroupchatStatisticParams params);

    /**
     * 新增企微群聊数据统计数据
     * 
     * @param qwGroupchatStatistic 企微群聊数据统计数据
     * @return 结果
     */
    public int insertQwGroupchatStatistic(QwGroupchatStatistic qwGroupchatStatistic);

    /**
     * 修改企微群聊数据统计数据
     * 
     * @param qwGroupchatStatistic 企微群聊数据统计数据
     * @return 结果
     */
    public int updateQwGroupchatStatistic(QwGroupchatStatistic qwGroupchatStatistic);

    /**
     * 批量删除企微群聊数据统计数据
     * 
     * @param ids 需要删除的企微群聊数据统计数据主键集合
     * @return 结果
     */
    public int deleteQwGroupchatStatisticByIds(Long[] ids);

    /**
     * 删除企微群聊数据统计数据信息
     * 
     * @param id 企微群聊数据统计数据主键
     * @return 结果
     */
    public int deleteQwGroupchatStatisticById(Long id);

    /**
     * 定时任务，每天定时从企业微信获取「联系客户统计」数据的更新数据 按自然日聚合
     */
    public void updateQwGroupchatStatisticByTimer();

    /**
    *  定时任务，每天定时从企业微信获取「联系客户统计」数据的更新数据 按群主聚合 (二选一)
    */
    public void updateQwGroupchatStatisticByTimerOwner();
}
