package itn.let.mjo.pay.service;

import java.util.List;

import egovframework.rte.fdl.cmmn.exception.FdlException;
import itn.let.mail.service.StatusResponse;

public interface RefundService {

	public void insertRefund(RefundVO refundVO) throws Exception;
	public List<RefundVO> selectRefundList(RefundVO refundVO) throws Exception;
	public RefundVO selectRefundMberInfo(RefundVO refundVO) throws Exception;
	public RefundVO selectRefundDetail(RefundVO refundVO) throws Exception;
	public List<MjonPayVO> selectRefundPayList(MjonPayVO mjonPayVO) throws Exception;
	public void updateRefundStatus(RefundVO refundVO) throws Exception;
	public void updateCompleteRefundStatus(RefundVO refundVO) throws Exception;
	public void updateCancelRefundStatus(RefundVO refundVO) throws Exception;
	public void updateRestRefundStatus(RefundVO refundVO) throws Exception;
	
	
	public void deleteRefundInfo(RefundVO refundVO) throws Exception;
	
	//회원아이디 기준 화불요청 모든 기록 조회
	public List<RefundVO> selectRefundListAllById(RefundVO refundVO) throws Exception;
	
	// 환불신청금액(환불요청 상태)
	public int selectRefundMoneySum(RefundVO refundVO) throws Exception;
	
	public int selectUserChk(RefundVO refundVO) throws Exception;
	
	public int updateRefundMemo(RefundVO refundVO) throws Exception;
	
	public int updateRefundMoid(RefundVO refundVO) throws Exception;
	
	public StatusResponse cancelRegistIdChkAjax(String checkId) throws Exception;
	
	public StatusResponse insertPayCanAjax(RefundVO refundVO) throws FdlException;
	
	public StatusResponse updateProcStatusAjax(RefundVO refundVO);
	
	public StatusResponse updateCashAndPointAjax(RefundVO userInfoAdd);
	
	// 환불/결제 신청수
	int selectRefundRequestCount(RefundVO refundVO) throws Exception;	
	
	public RefundVO selectRefundAdminInfo(RefundVO refundVO) throws Exception;
}