package com.fs.company.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fs.company.domain.CompanyDetectionPhoneDailyStatistics;

import java.util.Date;
import java.util.List;

/**
 * 机型检测日统计Service接口
 * 
 * @author fs
 * @date 2025-12-17
 */
public interface ICompanyDetectionPhoneDailyStatisticsService extends IService<CompanyDetectionPhoneDailyStatistics>{
    /**
     * 查询机型检测日统计
     * 
     * @param id 机型检测日统计主键
     * @return 机型检测日统计
     */
    CompanyDetectionPhoneDailyStatistics selectCompanyDetectionPhoneDailyStatisticsById(Long id);

    /**
     * 查询机型检测日统计列表
     * 
     * @param companyDetectionPhoneDailyStatistics 机型检测日统计
     * @return 机型检测日统计集合
     */
    List<CompanyDetectionPhoneDailyStatistics> selectCompanyDetectionPhoneDailyStatisticsList(CompanyDetectionPhoneDailyStatistics companyDetectionPhoneDailyStatistics);

    /**
     * 新增机型检测日统计
     * 
     * @param companyDetectionPhoneDailyStatistics 机型检测日统计
     * @return 结果
     */
    int insertCompanyDetectionPhoneDailyStatistics(CompanyDetectionPhoneDailyStatistics companyDetectionPhoneDailyStatistics);

    /**
     * 修改机型检测日统计
     * 
     * @param companyDetectionPhoneDailyStatistics 机型检测日统计
     * @return 结果
     */
    int updateCompanyDetectionPhoneDailyStatistics(CompanyDetectionPhoneDailyStatistics companyDetectionPhoneDailyStatistics);

    /**
     * 批量删除机型检测日统计
     * 
     * @param ids 需要删除的机型检测日统计主键集合
     * @return 结果
     */
    int deleteCompanyDetectionPhoneDailyStatisticsByIds(Long[] ids);

    /**
     * 删除机型检测日统计信息
     * 
     * @param id 机型检测日统计主键
     * @return 结果
     */
    int deleteCompanyDetectionPhoneDailyStatisticsById(Long id);
    /**
     * 重新计算统计数据
     * @param detectionSystemType 1苹果 2安卓 3其他
     */
    void recalculateStatistics(Long companyId, String companyName, Long companyUserId, String companyUserName, Date detectionTime, int detectionSystemType);
}
