package com.njcn.relational.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.relational.pojo.po.SyncTableLogs;

import java.time.LocalDate;
import java.util.List;

public interface SyncTableLogsService extends IService<SyncTableLogs> {


    /**
     * 分页查询日志
     */
    IPage<SyncTableLogs> pageQuery(Integer pageNum, Integer pageSize, LocalDate timeId, Integer result);

    /**
     * 根据日期查询日志列表
     */
    List<SyncTableLogs> listByTimeId(LocalDate timeId);

    /**
     * 根据日期和结果查询
     */
    List<SyncTableLogs> listByTimeIdAndResult(LocalDate timeId, Integer result);

    /**
     * 查询某日期是否存在记录
     */
    boolean existsByTimeId(LocalDate timeId);

    /**
     * 批量插入日志
     */
    boolean batchInsert(List<SyncTableLogs> logs);

    /**
     * 根据日期删除日志
     */
    boolean deleteByTimeId(LocalDate timeId);

    /**
     * 根据日期和结果删除
     */
    boolean deleteByTimeIdAndResult(LocalDate timeId, Integer result);

    /**
     * 统计某日期的成功/失败数量
     */
    int countByTimeIdAndResult(LocalDate timeId, Integer result);

    /**
     * 保存或更新日志（如果存在则更新，不存在则插入）
     */
    boolean saveOrUpdateLog(SyncTableLogs log);
}