package com.fs.qw.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.fastGpt.domain.FastGptPushTokenTotal;
import com.fs.qw.domain.QwPushCount;

import java.util.List;

/**
 * 定义销售推送不同类型的企业消息的次数Service接口
 * 
 * @author fs
 * @date 2025-08-22
 */
public interface IQwPushCountService extends IService<QwPushCount>{

    public List<QwPushCount> selectQwPushCountLists();

    public QwPushCount SelectQwPushCountByCompanyId( Integer type,Long companyId);  // 注解和SQL中的参数名都使用companyId

    public QwPushCount SelectQwPushCountByType(Integer type);
    /**
     * 查询定义销售推送不同类型的企业消息的次数
     * 
     * @param id 定义销售推送不同类型的企业消息的次数主键
     * @return 定义销售推送不同类型的企业消息的次数
     */
    QwPushCount selectQwPushCountById(Long id);

    /**
     * 查询定义销售推送不同类型的企业消息的次数列表
     * 
     * @param qwPushCount 定义销售推送不同类型的企业消息的次数
     * @return 定义销售推送不同类型的企业消息的次数集合
     */
    List<QwPushCount> selectQwPushCountList(QwPushCount qwPushCount);

    /**
     * 新增定义销售推送不同类型的企业消息的次数
     * 
     * @param qwPushCount 定义销售推送不同类型的企业消息的次数
     * @return 结果
     */
    int insertQwPushCount(QwPushCount qwPushCount);

    /**
     * 修改定义销售推送不同类型的企业消息的次数
     * 
     * @param qwPushCount 定义销售推送不同类型的企业消息的次数
     * @return 结果
     */
    int updateQwPushCount(QwPushCount qwPushCount);

    /**
     * 批量删除定义销售推送不同类型的企业消息的次数
     * 
     * @param ids 需要删除的定义销售推送不同类型的企业消息的次数主键集合
     * @return 结果
     */
    int deleteQwPushCountByIds(Long[] ids);

    /**
     * 删除定义销售推送不同类型的企业消息的次数信息
     * 
     * @param id 定义销售推送不同类型的企业消息的次数主键
     * @return 结果
     */
    int deleteQwPushCountById(Long id);

    List<FastGptPushTokenTotal> selectFastGptPushTokenTotalList(FastGptPushTokenTotal pushTokenInfo);
}
