package com.liquidnet.service.goblin.service;

import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinOrderParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMailVo;
import com.liquidnet.service.goblin.dto.vo.GoblinPayInnerResultVo;
import com.liquidnet.service.goblin.param.PayAgainParam;
import com.liquidnet.service.goblin.param.RefundCallbackParam;
import com.liquidnet.service.goblin.param.SyncOrderParam;

import java.util.List;

public interface IGoblinOrderService {

    ResponseDto<GoblinPayInnerResultVo> checkOrder(GoblinOrderParam param, String uid);

    ResponseDto<GoblinPayInnerResultVo> payAgain(PayAgainParam param);

    String syncOrder(SyncOrderParam syncOrderParam);

    String refundSyncOrder(RefundCallbackParam refundCallbackParam);

    ResponseDto<Integer> checkOrderResult(String orderId);

    ResponseDto<Integer> checkOrderResultMaterCode(String materCode);

    ResponseDto<List<GoblinMailVo>> getMail(String orderId,String mailId);

}
