package com.smppw.modaq.domain.mapper;

import com.smppw.modaq.domain.entity.EmailParseInfoDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;

@Mapper
public interface EmailParseInfoMapper {

    Integer insert(@Param("itemDo") EmailParseInfoDO emailParseInfoDO);

    void updateParseStatus(@Param("id") Integer id, @Param("parseStatus") int parseStatus, @Param("failReason") String failReason);

//    List<EmailParseInfoDO> searchEmailList(EmailParseQuery emailParseQuery);

//    EmailParseInfoDO searchEmailById(@Param("id") Integer id);
//
//    Integer searchEmailCount(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("parseStatus") Integer parseStatus);
//
//    EmailParseInfoDO queryById(@Param("id") Integer id);

//    long countEmailList(EmailParseQuery emailParseQuery);

    void updateParseTime(@Param("id") Integer id, @Param("parseDate") Date parseDate);

//    List<EmailInfoDTO> queryValuationEmailByFileId(@Param("fileIdList") List<Integer> fileIdList);
//
//    List<Map<String, Object>> searchEmailDataBoard(DataboardQuery databoardQuery);
//
//    List<Map<String, Object>> searchEmailTypeCount(DataboardQuery databoardQuery);
//
//    Long countpdfNoData(@Param("item") DataboardQuery databoardQuery, @Param("errorInfo")String errorInfo);

//    Long countEmailTotal(@Param("emailType") Integer emailType);
//
//    EmailParseInfoDO searchEmail(EmailParseInfoDO entity);

    Integer countEmailByInfoAndStatus(@Param("emailTitle") String emailTitle,
                                      @Param("senderAddress") String senderAddress,
                                      @Param("emailAddress") String emailAddress,
                                      @Param("emailDate") String emailDate);
}
