using Alipay.EasySDK.Payment.Common.Models;
using LifePayment.Domain.Shared;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using ZeroD.Util;
namespace LifePayment.Application.Contracts;
public interface ILifePayService : IApplicationService
{
///
/// 获取电费面值
///
///
Task GetElectricParValue();
///
/// 获取电费充值区域
///
///
Task GetElectricSupportArea();
///
/// 获取话费面值
///
///
Task GetPhoneParValue();
///
/// 获取燃气面值
///
///
Task GetGasParValue();
///
/// 获取燃气支持商户
///
///
Task GetGasOrgType();
///
/// 支付成功回调处理
///
///
///
///
Task LifePaySuccessHandler(string orderNo, string outOrderNo);
///
/// 退款成功回调处理
///
///
///
///
Task LifePayRefundsHandler(string orderNo, LifePayRefundStatusEnum refundStatus);
///
/// 供应商回调处理
///
///
///
///
///
///
///
Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark);
///
/// 创建生活缴费话费订单
///
///
///
Task CreateLifePayPhoneOrder(CreateLifePayOrderInput input);
///
/// 创建生活缴费电费订单
///
///
///
Task CreateLifePayElectricOrder(CreateLifePayOrderInput input);
///
/// 创建生活缴费燃气订单
///
///
///
Task CreateLifePayGasOrder(CreateLifePayOrderInput input);
///
/// 修改实际到账金额
///
///
///
Task UpdateLifePayOrderActualReceivedAmount(UpdateLifePayOrderInput input);
///
/// 退款生活缴费订单
///
///
///
///
Task RefundLifePayOrder(RefundLifePayOrderInput input);
///
/// 用户发起生活缴费退款
///
///
///
Task RefundUserLifePayOrder(RefundUserLifePayOrderInput input);
///
/// 用户修改户号信息
///
///
///
Task AddUpdateUserAccount(AddUpdateUserAccountInput input);
///
/// 删除用户户号
///
///
///
Task DeleteUserAccount(Guid id);
Task RejectRefundLifePayOrder(RefundLifePayOrderInput input);
Task CreateEditPayChannels(CreateEditPayChannelsInput input);
Task SetLifePayChannelsStatus(Guid id, LifePayChannelsStatsEnum status);
///
/// 编辑折扣
///
///
///
Task CreateEditLifePayRate(List input);
///
/// 编辑手续费费率
///
///
///
Task CreateEditLifePayPremium(List input);
///
/// 须知配置
///
///
///
Task EditIntroInfo(LifePayIntroInfoInput input);
///
/// 获取折扣
///
///
Task> GetRate();
///
/// 获取渠道折扣
///
///
Task GetChannelRate(ChannelsBaseInput input);
///
/// 获取手续费费率
///
///
Task> GetPremium();
///
/// 获取须知
///
///
Task> GetIntroInfo(LifePayOrderTypeEnum type);
///
/// 获取我的订单分页数据
///
///
///
Task> GetUserLifePayOrderPage(QueryLifePayOrderListInput input);
///
/// 获取我的订单详情
///
///
///
Task GetUserLifePayOrderDetail(string orderNo);
///
/// 获取用户分页数据
///
///
///
Task> GetUserPage(QueryUserPageInput input);
///
/// 获取用户户号分页数据
///
///
///
Task> GetAccountPage(QueryUserAccountListInput input);
///
/// 获取订单分页数据
///
///
///
Task> GetLifePayOrderPage(QueryLifePayOrderListInput input);
Task> GetLifePayRefundOrderPage(QueryLifePayRefundOrderListInput input);
///
/// 获取订单详情
///
///
///
Task GetLifePayOrderDetail(string orderNo);
Task GetLifePayRefundOrderDetail(string orderNo);
///
/// 根据订单号获取支付状态
///
///
///
Task GetPayStatusByOrderNo(string orderNo);
///
/// 获取渠道分页
///
///
///
Task> GetLifePayChannlesPage(PageInput input);
Task> GetLifePayChannlesAllList();
Task GetLifePayChannlesDto(Guid id);
Task GetLifePayChannlesDtoByNum(string channlesNum);
Task GetUserLifePayOrderRefund(Guid id);
///
/// 获取我的户号列表
///
///
///
Task> GetUserAccountList(QueryUserAccountListInput input);
///
/// 获取我的全部户号列表
///
///
///
Task> GetUserAccountAllList(QueryUserAccountAllListInput input);
///
/// 获取我的户号详情
///
///
///
Task GetUserAccountDetail(Guid id);
Task> GetLifePayOrderPageExport(QueryLifePayOrderListInput input);
Task> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input);
Task GetBillErceiptExport(string orderNo);
///
/// 查询支付宝支付订单信息
///
///
///
Task QueryAlipayTrade(OrderInQuiryInput input);
///
/// 查询支付宝退款订单信息
///
///
///
Task QueryAlipayTradeRefund(OrderInQuiryInput input);
///
/// 查询微信退款订单信息
///
///
///
Task WxPayDomesticRefundsQuery(string outTradeNo);
///
/// 查询微信订单信息
///
///
///
Task WxPayTradeQuery(string outTradeNo);
///
/// 设置生活缴费支付类型
///
///
///
Task SetLifePayOrderPayType(SetLifePayOrderPayTypeInput input, string ip);
///
/// 生活缴费的JSAPI调用
///
///
///
///
Task GetPayOrderForJsAPI(GetPayOrderForJsAPIInput input, string ip);
///
/// 获取支付二维码
///
///
///
///
///
///
///
Task GetPayQRCode(LifePayTypeEnum payType, string outTradeNo, string description, decimal amount, string ip, string h5Type);
Task CheckChannelsStatus(string channlesId);
}