From 1c1761d54822e8bc89744e8e4e5c9d22db4a461d Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期二, 09 九月 2025 15:29:40 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs | 35 +++++++++++++++++++++++++++++------ 1 files changed, 29 insertions(+), 6 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs index aacd13c..f95e00f 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseWallets/Queries/EnterpriseWalletQueryHandler.cs @@ -21,6 +21,7 @@ public class EnterpriseWalletQueryHandler( IRepository<EnterpriseWallet> rep, IRepository<EnterpriseWalletTransaction> repEnterpriseWalletTransaction, + IRepository<EnterpriseWalletExpandindirectOrder> repEnterpriseWalletExpandindirectOrder, IRepository<Enterprise> repEnterprise, AlipayUtils alipayUtils ) : @@ -29,6 +30,7 @@ { private readonly IRepository<EnterpriseWallet> rep = rep; private readonly IRepository<EnterpriseWalletTransaction> repEnterpriseWalletTransaction = repEnterpriseWalletTransaction; + private readonly IRepository<EnterpriseWalletExpandindirectOrder> repEnterpriseWalletExpandindirectOrder = repEnterpriseWalletExpandindirectOrder; private readonly IRepository<Enterprise> repEnterprise = repEnterprise; private readonly AlipayUtils alipayUtils = alipayUtils; @@ -53,7 +55,15 @@ var entity = await rep.AsQueryable() .Where(it => it.EnterpriseId == request.EnterpriseId && it.Access == request.Access) .FirstOrDefaultAsync(); - if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "浼佷笟閽卞寘"); + if (entity == null) + { + return new GetEnterpriseWalletQueryResult + { + Access = request.Access, + SignStatus = EnumEnterpriseWalletSignStatus.Wait, + ExpandindirectOrderStatus = EnumEnterpriseWalletExpandindirectOrderStatus.Wait + }; + } var update = false; if (entity.Access == EnumEnterpriseWalletAccess.Alipay) { @@ -134,6 +144,19 @@ } var model = entity.Adapt<GetEnterpriseWalletQueryResult>(); + + var expandindirectOrder = await repEnterpriseWalletExpandindirectOrder.AsQueryable().AsNoTracking() + .OrderByDescending(it => it.CreatedTime) + .Where(it => it.WalletId == model.Id) + .Select(it => new + { + it.OrderStatus + }) + .FirstOrDefaultAsync(); + model.ExpandindirectOrderStatus = expandindirectOrder == null + ? EnumEnterpriseWalletExpandindirectOrderStatus.Wait + : expandindirectOrder.OrderStatus; + return model; } @@ -173,16 +196,16 @@ entity.TransDate = response.PayDate.ToDateTime(); entity.Status = response.Status; entity.TransactionStatus = response.Status == "SUCCESS" - ? EnumEnterpriseWalletTransactionStatus.Success + ? EnumWalletTransactionStatus.Success : response.Status == "DEALING" - ? EnumEnterpriseWalletTransactionStatus.Dealing + ? EnumWalletTransactionStatus.Dealing : response.Status == "REFUND" - ? EnumEnterpriseWalletTransactionStatus.Refund + ? EnumWalletTransactionStatus.Refund : response.Status == "FAIL" - ? EnumEnterpriseWalletTransactionStatus.Fail + ? EnumWalletTransactionStatus.Fail : throw Oops.Oh(EnumErrorCodeType.s510, $"鏈瘑鍒殑鐘舵�侊細{response.Status}"); await repEnterpriseWalletTransaction.UpdateAsync(entity); - if (entity.TransactionStatus == EnumEnterpriseWalletTransactionStatus.Success) + if (entity.TransactionStatus == EnumWalletTransactionStatus.Success) { await GetBalance(entity.WalletId); } -- Gitblit v1.9.1