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 { /// <summary> /// 获å–电费é¢å€¼ /// </summary> /// <returns></returns> Task<ElectricParValueResponse> GetElectricParValue(); /// <summary> /// 获å–电费充值区域 /// </summary> /// <returns></returns> Task<ElectricSupportAreaResponse> GetElectricSupportArea(); /// <summary> /// 获å–è¯è´¹é¢å€¼ /// </summary> /// <returns></returns> Task<PhoneParValueResponse> GetPhoneParValue(); /// <summary> /// 获å–燃气é¢å€¼ /// </summary> /// <returns></returns> Task<GasParValueResponse> GetGasParValue(); /// <summary> /// 获å–燃气支æŒå•†æˆ· /// </summary> /// <returns></returns> Task<GasOrgTypeValueResponse> GetGasOrgType(); /// <summary> /// 支付æˆåŠŸå›žè°ƒå¤„ç† /// </summary> /// <param name="orderNo"></param> /// <param name="outOrderNo"></param> /// <returns></returns> Task LifePaySuccessHandler(string orderNo, string outOrderNo); /// <summary> /// 退款æˆåŠŸå›žè°ƒå¤„ç† /// </summary> /// <param name="orderNo"></param> /// <param name="refundStatus"></param> /// <returns></returns> Task LifePayRefundsHandler(string orderNo, LifePayRefundStatusEnum refundStatus); /// <summary> /// ä¾›åº”å•†å›žè°ƒå¤„ç† /// </summary> /// <param name="orderNo"></param> /// <param name="acoolyOrderNo"></param> /// <param name="status"></param> /// <param name="acoolyStatus"></param> /// <param name="payAmount"></param> /// <returns></returns> Task ACOOLYOrderNotifyHandler(string orderNo, string acoolyOrderNo, LifePayOrderStatusEnum status, ACOOLYStatusEnum acoolyStatus, decimal payAmount, string refundApplyRemark); /// <summary> /// 创建生活缴费è¯è´¹è®¢å• /// </summary> /// <param name="input"></param> /// <returns></returns> Task<CreateLifePayOrderOutput> CreateLifePayPhoneOrder(CreateLifePayOrderInput<LifePhoneData> input); /// <summary> /// åˆ›å»ºç”Ÿæ´»ç¼´è´¹ç”µè´¹è®¢å• /// </summary> /// <param name="input"></param> /// <returns></returns> Task<CreateLifePayOrderOutput> CreateLifePayElectricOrder(CreateLifePayOrderInput<LifeElectricData> input); /// <summary> /// åˆ›å»ºç”Ÿæ´»ç¼´è´¹ç‡ƒæ°”è®¢å• /// </summary> /// <param name="input"></param> /// <returns></returns> Task<CreateLifePayOrderOutput> CreateLifePayGasOrder(CreateLifePayOrderInput<LifeGasData> input); /// <summary> /// ä¿®æ”¹å®žé™…åˆ°è´¦é‡‘é¢ /// </summary> /// <param name="input"></param> /// <returns></returns> Task<int> UpdateLifePayOrderActualReceivedAmount(UpdateLifePayOrderInput input); /// <summary> /// é€€æ¬¾ç”Ÿæ´»ç¼´è´¹è®¢å• /// </summary> /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task RefundLifePayOrder(RefundLifePayOrderInput input); /// <summary> /// 用户å‘起生活缴费退款 /// </summary> /// <param name="input"></param> /// <returns></returns> Task RefundUserLifePayOrder(RefundUserLifePayOrderInput input); /// <summary> /// 用户修改户å·ä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> Task<int> AddUpdateUserAccount(AddUpdateUserAccountInput input); /// <summary> /// åˆ é™¤ç”¨æˆ·æˆ·å· /// </summary> /// <param name="id"></param> /// <returns></returns> Task<int> DeleteUserAccount(Guid id); Task RejectRefundLifePayOrder(RefundLifePayOrderInput input); Task CreateEditPayChannels(CreateEditPayChannelsInput input); Task SetLifePayChannelsStatus(Guid id, LifePayChannelsStatsEnum status); /// <summary> /// 编辑折扣 /// </summary> /// <param name="input"></param> /// <returns></returns> Task CreateEditLifePayRate(List<LifePayRateInput> input); /// <summary> /// 编辑手ç»è´¹è´¹çއ /// </summary> /// <param name="input"></param> /// <returns></returns> Task CreateEditLifePayPremium(List<LifePayPremiumInput> input); /// <summary> /// 须知é…ç½® /// </summary> /// <param name="input"></param> /// <returns></returns> Task EditIntroInfo(LifePayIntroInfoInput input); /// <summary> /// èŽ·å–æŠ˜æ‰£ /// </summary> /// <returns></returns> Task<List<LifePayRateListOutput>> GetRate(); /// <summary> /// èŽ·å–æ¸ é“æŠ˜æ‰£ /// </summary> /// <returns></returns> Task<ChannelRateOutput> GetChannelRate(ChannelsBaseInput input); /// <summary> /// èŽ·å–æ‰‹ç»è´¹è´¹çއ /// </summary> /// <returns></returns> Task<List<LifePayPremiumListOutput>> GetPremium(); /// <summary> /// 获å–须知 /// </summary> /// <returns></returns> Task<List<LifePayIntroInfoOutput>> GetIntroInfo(LifePayOrderTypeEnum type); /// <summary> /// èŽ·å–æˆ‘的订å•åˆ†é¡µæ•°æ® /// </summary> /// <param name="input"></param> /// <returns></returns> Task<PageOutput<UserLifePayOrderOutput>> GetUserLifePayOrderPage(QueryLifePayOrderListInput input); /// <summary> /// èŽ·å–æˆ‘的订å•详情 /// </summary> /// <param name="orderNo"></param> /// <returns></returns> Task<UserLifePayOrderOutput> GetUserLifePayOrderDetail(string orderNo); /// <summary> /// 获å–ç”¨æˆ·åˆ†é¡µæ•°æ® /// </summary> /// <param name="input"></param> /// <returns></returns> Task<PageOutput<UserListOutput>> GetUserPage(QueryUserPageInput input); /// <summary> /// 获å–用户户å·åˆ†é¡µæ•°æ® /// </summary> /// <param name="input"></param> /// <returns></returns> Task<PageOutput<UserAccountOutput>> GetAccountPage(QueryUserAccountListInput input); /// <summary> /// 获å–订å•åˆ†é¡µæ•°æ® /// </summary> /// <param name="input"></param> /// <returns></returns> Task<PageOutput<LifePayOrderListOutput>> GetLifePayOrderPage(QueryLifePayOrderListInput input); Task<PageOutput<LifePayOrderListOutput>> GetLifePayRefundOrderPage(QueryLifePayRefundOrderListInput input); /// <summary> /// 获å–订å•详情 /// </summary> /// <param name="orderNo"></param> /// <returns></returns> Task<LifePayOrderOutput> GetLifePayOrderDetail(string orderNo); Task<LifePayRefundOrderOutput> GetLifePayRefundOrderDetail(string orderNo); /// <summary> /// æ ¹æ®è®¢å•å·èŽ·å–æ”¯ä»˜çŠ¶æ€ /// </summary> /// <param name="orderNo"></param> /// <returns></returns> Task<LifePayStatusEnum> GetPayStatusByOrderNo(string orderNo); /// <summary> /// èŽ·å–æ¸ é“分页 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<PageOutput<CreateEditPayChannelsInput>> GetLifePayChannlesPage(PageInput input); Task<List<CreateEditPayChannelsInput>> GetLifePayChannlesAllList(); Task<CreateEditPayChannelsInput> GetLifePayChannlesDto(Guid id); Task<CreateEditPayChannelsInput> GetLifePayChannlesDtoByNum(string channlesNum); Task<UserLifePayOrderRefundOutput> GetUserLifePayOrderRefund(Guid id); /// <summary> /// èŽ·å–æˆ‘的户å·åˆ—表 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<PageOutput<UserAccountOutput>> GetUserAccountList(QueryUserAccountListInput input); /// <summary> /// èŽ·å–æˆ‘的全部户å·åˆ—表 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<List<UserAccountOutput>> GetUserAccountAllList(QueryUserAccountAllListInput input); /// <summary> /// èŽ·å–æˆ‘的户å·è¯¦æƒ… /// </summary> /// <param name="id"></param> /// <returns></returns> Task<UserAccountOutput> GetUserAccountDetail(Guid id); Task<List<LifePayOrderListTemplate>> GetLifePayOrderPageExport(QueryLifePayOrderListInput input); Task<List<LifePayRefundOrderListTemplate>> GetLifePayRefudOrderPageExport(QueryLifePayRefundOrderListInput input); Task<string> GetBillErceiptExport(string orderNo); /// <summary> /// æŸ¥è¯¢æ”¯ä»˜å®æ”¯ä»˜è®¢å•ä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> Task<AlipayTradeQueryResponse> QueryAlipayTrade(OrderInQuiryInput input); /// <summary> /// 查询支付å®é€€æ¬¾è®¢å•ä¿¡æ¯ /// </summary> /// <param name="input"></param> /// <returns></returns> Task<AlipayTradeFastpayRefundQueryResponse> QueryAlipayTradeRefund(OrderInQuiryInput input); /// <summary> /// 查询微信退款订å•ä¿¡æ¯ /// </summary> /// <param name="outTradeNo"></param> /// <returns></returns> Task<WxPayDomesticRefundsQueryReponse> WxPayDomesticRefundsQuery(string outTradeNo); /// <summary> /// 查询微信订å•ä¿¡æ¯ /// </summary> /// <param name="outTradeNo"></param> /// <returns></returns> Task<WxPayTradeQueryReponse> WxPayTradeQuery(string outTradeNo); /// <summary> /// 设置生活缴费支付类型 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<string> SetLifePayOrderPayType(SetLifePayOrderPayTypeInput input, string ip); /// <summary> /// 生活缴费的JSAPI调用 /// </summary> /// <param name="input"></param> /// <param name="ip"></param> /// <returns></returns> Task<ModelPaymentMiniPay> GetPayOrderForJsAPI(GetPayOrderForJsAPIInput input, string ip); /// <summary> /// èŽ·å–æ”¯ä»˜äºŒç»´ç /// </summary> /// <param name="payType"></param> /// <param name="outTradeNo"></param> /// <param name="description"></param> /// <param name="amount"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> Task<string> GetPayQRCode(LifePayTypeEnum payType, string outTradeNo, string description, decimal amount, string ip, string h5Type); Task<bool> CheckChannelsStatus(string channlesId); }