package com.ga.core.mapper.complaint;

import com.ga.core.vo.complaint.ComplaintResp;
import com.ga.core.vo.complaint.ComplaintSearchParam;
import com.ga.core.vo.complaint.ComplaintVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ComplaintMapper {
    ComplaintResp selectById(@Param("complaintId") Long complaintId);
    List<ComplaintResp> selectList(ComplaintSearchParam param);
    /** 환수 트리거 미처리 민원 (chargebackTriggered=true, status != CLOSED) */
    List<ComplaintVO> selectPendingChargeback();
    int insert(ComplaintVO vo);
    int update(ComplaintVO vo);
    int updateStatus(@Param("complaintId") Long complaintId, @Param("status") String status,
                     @Param("resolution") String resolution);
    int delete(@Param("complaintId") Long complaintId);
}
