From 6803ee52d2061fb811440fd17aede81250f0a53b Mon Sep 17 00:00:00 2001
From: zhengyuxuan <zhengyuxuan1995>
Date: 星期五, 28 三月 2025 15:51:39 +0800
Subject: [PATCH] fix:提交能运行的代码
---
LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 106 insertions(+), 7 deletions(-)
diff --git a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
index 35b36c8..b6c399e 100644
--- a/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
+++ b/LifePayment/LifePayment.Application/LifePay/LifePayOrderService.cs
@@ -11,17 +11,28 @@
using Volo.Abp.Domain.Repositories;
using Microsoft.EntityFrameworkCore;
using ZeroD.Util;
+using LifePayment.Domain;
+using static LifePayment.Domain.Shared.LifePaymentConstant;
namespace LifePayment.Application.LifePay
{
public class LifePayOrderService : ApplicationService, ILifePayOrderService
{
private readonly IRepository<LifePayRechargeReceipts, Guid> _lifePayRechargeReceiptsRepository;
+ private readonly IRepository<LifePayExpensesReceipts, Guid> _lifePayExpensesReceiptsRepository;
+ private readonly IAliPayApi _aliPayApi;
+ private readonly IWxPayApi _wxPayApi;
public LifePayOrderService(
- IRepository<LifePayRechargeReceipts, Guid> lifePayRechargeReceiptsRepository)
+ IRepository<LifePayRechargeReceipts, Guid> lifePayRechargeReceiptsRepository,
+ IRepository<LifePayExpensesReceipts, Guid> lifePayExpensesReceiptsRepository,
+ IAliPayApi aliPayApi,
+ IWxPayApi wxPayApi)
{
_lifePayRechargeReceiptsRepository = lifePayRechargeReceiptsRepository;
+ _lifePayExpensesReceiptsRepository = lifePayExpensesReceiptsRepository;
+ _aliPayApi = aliPayApi;
+ _wxPayApi = wxPayApi;
}
/// <summary>
@@ -32,7 +43,7 @@
public async Task<LifePayRechargeReceiptsPageOutput<LifePayRechargeReceiptsListOutput>> GetLifePayRechargeReceiptsPage(LifePayRechargeReceiptsPageInput input)
{
var list = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false)
- .WhereIf(input.OrderNo.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.OrderNo))
+ .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord))
.WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
.WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
.Select(x => new LifePayRechargeReceiptsListOutput()
@@ -42,6 +53,7 @@
RechargeAmount = x.RechargeAmount,
Remark = x.Remark,
Voucher = x.Voucher.GetOssPath(),
+ CreationTime = x.CreationTime,
})
.GetPageResult(input.PageModel);
@@ -52,11 +64,7 @@
return result;
}
- //public async Task<decimal> GetTotalLifePayRechargeReceipts()
- //{
- // var result = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false).SumAsync(x => x.RechargeAmount);
- // return result;
- //}
+
/// <summary>
/// 缂栬緫鍏呭�兼祦姘�
@@ -91,5 +99,96 @@
await _lifePayRechargeReceiptsRepository.InsertAsync(payRechargeReceipts);
}
}
+
+
+ //public async Task<LifePayExpensesReceiptsPageOutput<LifePayExpensesReceiptsListOutput>> GetLifePayExpensesReceiptsPage(LifePayExpensesReceiptsPageInput input)
+ //{
+ // var list = await _lifePayExpensesReceiptsRepository.Where(x => x.IsDeleted == false)
+ // .WhereIf(input.KeyWord.IsNotNullOrEmpty(), x => x.OrderNo.Contains(input.KeyWord))
+ // .WhereIf(input.CreationTimeBegin.HasValue, x => x.CreationTime >= input.CreationTimeBegin)
+ // .WhereIf(input.CreationTimeEnd.HasValue, x => x.CreationTime <= input.CreationTimeEnd)
+ // .Select(x => new LifePayRechargeReceiptsListOutput()
+ // {
+ // Id = x.Id,
+ // OrderNo = x.OrderNo,
+ // RechargeAmount = x.RechargeAmount,
+ // Remark = x.Remark,
+ // Voucher = x.Voucher.GetOssPath(),
+ // CreationTime = x.CreationTime,
+ // })
+ // .GetPageResult(input.PageModel);
+
+ // var total = await _lifePayRechargeReceiptsRepository.Where(x => x.IsDeleted == false).SumAsync(x => x.RechargeAmount);
+ // LifePayRechargeReceiptsPageOutput<LifePayRechargeReceiptsListOutput> result = new LifePayRechargeReceiptsPageOutput<LifePayRechargeReceiptsListOutput>();
+ // result.Data = list.Data;
+ // result.TotalRechargeAmount = total;
+ // return result;
+ //}
+
+ /// <summary>
+ /// 鎻掑叆鏀舵敮娴佹按
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ public async Task AddLifePayExpensesReceipts(AddLifePayExpensesReceiptsInput input)
+ {
+ var repeat = await _lifePayExpensesReceiptsRepository.Where(x => x.ExpensesReceiptsType == input.ExpensesReceiptsType
+ && x.OrderNo == input.OrderNo).FirstOrDefaultAsync();
+ if (repeat == null)
+ {
+ var data = new LifePayExpensesReceipts()
+ {
+ Id = Guid.NewGuid(),
+ OrderNo = input.OrderNo,
+ OutOrderNo = input.OutOrderNo,
+ LifePayType = input.LifePayType,
+ ExpensesReceiptsType = input.ExpensesReceiptsType,
+ Amount = input.Amount
+ };
+
+ switch (input.LifePayType)
+ {
+ case LifePayTypeEnum.AliPay:
+ if (input.ExpensesReceiptsType == ExpensesReceiptsTypeEnum.Expenses)
+ {
+ var query = await _aliPayApi.OrderInQuiry(new OrderInQuiryInput() { OutTradeNo = input.OrderNo });
+ if (query.Code == AlipayResultCode.Success && query.TradeStatus == AlipayStatus.TRADESUCCESS)
+ {
+ await _lifePayExpensesReceiptsRepository.InsertAsync(data);
+ }
+ }
+ else
+ {
+ var query = await _aliPayApi.QueryAlipayTradeRefund(new OrderInQuiryInput() { OutTradeNo = input.OrderNo });
+ if (query.Code == AlipayResultCode.Success && query.RefundStatus == AlipayRefundStatus.Success)
+ {
+ await _lifePayExpensesReceiptsRepository.InsertAsync(data);
+ }
+ }
+ break;
+ case LifePayTypeEnum.WxPay:
+ if (input.ExpensesReceiptsType == ExpensesReceiptsTypeEnum.Expenses)
+ {
+ var query = await _wxPayApi.WxPayTradeQuery(input.OrderNo);
+ if (query.Code == AlipayResultCode.Success && query.Status == WxPayStatus.鏀粯鎴愬姛)
+ {
+ await _lifePayExpensesReceiptsRepository.InsertAsync(data);
+ }
+ }
+ else
+ {
+ var query = await _wxPayApi.WxPayDomesticRefundsQuery(input.OrderNo);
+ if (query.Code == AlipayResultCode.Success && query.RefundStatus == WxPayRefundStatus.閫�娆炬垚鍔�)
+ {
+ await _lifePayExpensesReceiptsRepository.InsertAsync(data);
+ }
+ }
+ break;
+ default: break;
+ }
+
+
+ }
+ }
}
}
--
Gitblit v1.9.1