using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HengshanPaymentTerminal.Http
{
    public interface IHttpClientUtil
    {
        /// <summary>
        /// 发送油枪信息给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendNozzleInfo(string requestJson);

        /// <summary>
        /// 更新油枪信息给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> UpdateNozzleInfo(string requestJson);

        /// <summary>
        /// 删除油枪信息发送给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> DeleteNozzleInfo(string requestJson);

        /// <summary>
        /// 发送油品信息给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendOilInfo(string requestJson);

        /// <summary>
        /// 更新油品信息给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> UpdateOilInfo(string requestJson);

        /// <summary>
        /// 删除油品信息发送给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> DeleteOilInfo(string requestJson);

        /// <summary>
        /// 发送油罐信息给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendTankInfo(string requestJson);

        /// <summary>
        /// 更新油罐信息给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> UpdateTankInfo(string requestJson);

        /// <summary>
        /// 删除油罐信息发送给云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> DeleteTankInfo(string requestJson);

        /// <summary>
        /// 创建订单
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> CreateTransaction(string requestJson); 

        /// <summary>
        /// 发送油枪状态到云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendNozzleStatu(string requestJson);

        /// <summary>
        /// 发送授权结果到云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendAuthorizationResult(string requestJson);

        /// <summary>
        /// 发送取消授权结果到云端
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendUnAuthorizationResult(string requestJson);

        /// <summary>
        /// 发送当前已收到云端发送订单支付信息
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendRecievePaidNotice(string requestJson);

        /// <summary>
        /// 发送当前已收到云端发送订单退款信息
        /// </summary>
        /// <param name="requestJson"></param>
        /// <returns></returns>
        Task<HttpResponseMessage> SendRecieveRefundNotice(string requestJson);
    }
}
