package cokr.xit.ens.modules.kkotalk.mapper;

import java.util.*;

import org.apache.ibatis.annotations.*;

import cokr.xit.ens.modules.common.ctgy.intgrnbill.support.entity.*;
import cokr.xit.ens.modules.common.domain.*;
import cokr.xit.ens.modules.kkotalk.model.*;

/**
 * <pre>
 * description :
 * packageName : cokr.xit.ens.modules.kkotalk.mapper
 * fileName    : IKkoTalkMapper
 * author      : limju
 * date        : 2024 9월 03
 * ======================================================================
 * 변경일         변경자        변경 내용
 * ----------------------------------------------------------------------
 * 2024 9월 03   limju       최초 생성
 *
 * </pre>
 */
@Mapper
public interface IKkoTalkMapper {
    void saveSndDtlKkoTalk(SendDetailKkoTalkDTO sendDetailKkoTalk);
    void updateSndDtlKkoTalk(SendDetailKkoTalkDTO sendDetailKkoTalk);
    void updateKakaotalkSendBulksResult(SendDetailKkoTalkDTO sendDetailKkoTalk);

    void updateKakaotalkStatusBulksResult(SendDetailKkoTalkDTO sendDetailKkoTalkDTO);

    List<SendDetailKkoTalkDTO> findAllBySendMastId(Long sendMastId);


    List<SendDetailKkoTalkDTO> findAllFetchBySendMastId(Long sendMastId);
    Optional<SendDetailKkoTalkDTO> findFetchByExternalIdAndEnvelopeId(final Map<String, String> map);

    List<SendDetailKkoTalkDTO> findAllBySendMastAndEnvlopeIdIsNotNull(final SendMast sendMast);

    Optional<SendMast> selectSendMastByExternalIdAndEnvelopeId(final Map<String, String> map);
    Optional<Bill> selectBillByBillUid(final String billUid);
}
