package com.fs.qw.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fs.fastGpt.domain.FastGptPushTokenTotal;
import com.fs.fastGpt.param.FastGptPushTokenDeptTotalParam;
import com.fs.fastGpt.vo.FastGptPushTokenDeptTotalVO;
import com.fs.qw.domain.QwPushCount;
import com.fs.qw.mapper.QwPushCountMapper;
import com.fs.qw.mapper.QwRestrictionPushRecordMapper;
import com.fs.qw.service.IQwPushCountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 定义销售推送不同类型的企业消息的次数Service业务层处理
 * 
 * @author fs
 * @date 2025-08-22
 */
@Service
public class QwPushCountServiceImpl extends ServiceImpl<QwPushCountMapper, QwPushCount> implements IQwPushCountService {

    @Autowired
    private QwRestrictionPushRecordMapper pushRecordMapper;

    @Override
    public List<QwPushCount> selectQwPushCountLists() {
        return baseMapper.selectQwPushCountLists();
    }

    @Override
    public QwPushCount SelectQwPushCountByCompanyId(Integer type, Long companyId) {
        return baseMapper.SelectQwPushCountByCompanyId(type, companyId);
    }

    @Override
    public QwPushCount SelectQwPushCountByType(Integer type) {
        return baseMapper.SelectQwPushCountByType(type);
    }

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

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

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

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

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

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

    @Override
    public List<FastGptPushTokenTotal> selectFastGptPushTokenTotalList(FastGptPushTokenTotal pushTokenInfo) {
        return pushRecordMapper.selectFastGptPushTokenTotalList(pushTokenInfo);
    }

    @Override
    public   List<FastGptPushTokenDeptTotalVO> selectFastGptPushTokenTotalDeptList(FastGptPushTokenDeptTotalParam pushTokenInfo){
        return pushRecordMapper.selectFastGptPushTokenTotalDeptList(pushTokenInfo);
    }
}
