using LifePayment.Application.Contracts;
using LifePayment.Domain;
using LifePayment.Domain.Shared;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus.Distributed;
using ZeroD.Util;
using static LifePayment.Domain.Shared.LifePaymentConstant;
namespace LifePayment.Application.Contracts;
public interface ILifePayService : IApplicationService
{
///
/// 获取电费面值
///
///
Task GetElectricParValue();
///
/// 获取电费充值区域
///
///
Task GetElectricSupportArea();
///
/// 获取话费面值
///
///
Task GetPhoneParValue();
///
/// 支付成功回调处理
///
///
///
///
Task LifePaySuccessHandler(string orderNo, string outOrderNo);
///
/// 支付成功回调处理
///
///
///
///
///
Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status);
///
/// 创建生活缴费话费订单
///
///
///
Task CreateLifePayPhoneOrder(CreateLifePayOrderInput input);
///
/// 创建生活缴费电费订单
///
///
///
Task CreateLifePayElectricOrder(CreateLifePayOrderInput input);
///
/// 退款生活缴费订单
///
///
///
///
Task RefundLifePayOrder(RefundLifePayOrderInput input);
///
/// 获取折扣
///
///
Task> GetRate();
///
/// 获取我的订单分页数据
///
///
///
Task> GetUserLifePayOrderPage(QueryLifePayOrderListInput input);
///
/// 获取用户分页数据
///
///
///
Task> GetUserPage(PageInput input);
///
/// 获取订单分页数据
///
///
///
Task> GetLifePayOrderPage(QueryLifePayOrderListInput input);
///
/// 根据订单号获取支付状态
///
///
///
Task GetPayStatusByOrderNo(string orderNo);
///
/// 设置生活缴费支付类型
///
///
///
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);
}