| ApiTools.Application/ApiTools.Application.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Application/ChannelWallets/Commands/ChannelWalletCommandHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Application/ChannelWallets/Queries/ChannelWalletQueryHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Core/ApiTools.Core.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Core/Models/ChannelWallets/Commands/SaveChannelPingAnPayWalletCommand.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Core/Models/ChannelWallets/Queries/GetChannelPingAnPayWalletQuery.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Core/Services/ChannelPingAnPayWalletService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Web.Entry/ApiTools.Web.Entry.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ApiTools.Web.Entry/PingAnPayCert/config.properties | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ApiTools.Application/ApiTools.Application.xml
@@ -149,6 +149,14 @@ <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:ApiTools.Application.ChannelWalletCommandHandler.Handle(ApiTools.Core.SaveChannelPingAnPayWalletCommand,System.Threading.CancellationToken)"> <summary> 保存渠道平安银行钱包 </summary> <param name="request"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:ApiTools.Application.ChannelWalletCommandHandler.Handle(ApiTools.Core.SubmitChannelWalletTransferCommand,System.Threading.CancellationToken)"> <summary> 提交渠道钱包转账 @@ -162,11 +170,19 @@ 查询渠道钱包交易详情 </summary> </member> <member name="M:ApiTools.Application.ChannelWalletQueryHandler.#ctor(ApiTools.Core.ChannelWalletTransactionRepository)"> <member name="M:ApiTools.Application.ChannelWalletQueryHandler.#ctor(ApiTools.Core.ChannelWalletRepository,ApiTools.Core.ChannelWalletTransactionRepository)"> <summary> 查询渠道钱包交易详情 </summary> </member> <member name="M:ApiTools.Application.ChannelWalletQueryHandler.Handle(ApiTools.Core.GetChannelPingAnPayWalletQuery,System.Threading.CancellationToken)"> <summary> 查询渠道平安银行钱包 </summary> <param name="request"></param> <param name="cancellationToken"></param> <returns></returns> </member> <member name="M:ApiTools.Application.ChannelWalletQueryHandler.Handle(ApiTools.Core.GetChannelWalletTransactionQuery,System.Threading.CancellationToken)"> <summary> 查询渠道钱包交易详情 ApiTools.Application/ChannelWallets/Commands/ChannelWalletCommandHandler.cs
@@ -29,6 +29,12 @@ private readonly ChannelWalletTransactionRepository channelWalletTransactionRepository = channelWalletTransactionRepository; private readonly ChannelWalletService channelWalletService = channelWalletService; /// <summary> /// 保存渠道平安银行钱包 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<SaveChannelPingAnPayWalletCommandResult> Handle(SaveChannelPingAnPayWalletCommand request, CancellationToken cancellationToken) { var logier = JwtUtils.GetCurrentLogier(); @@ -40,23 +46,23 @@ wallet = new ChannelWallet(); wallet.ChannelId = logier.ChannelId; wallet.Access = EnumWalletAccess.PingAnPay; wallet.SignStatus = EnumWalletSignStatus.Normal; wallet.Bank = "平安银行"; wallet.SignStatus = EnumWalletSignStatus.Apply; request.Adapt(wallet); await channelWalletRepository.SetCode(wallet); await channelWalletRepository.InsertNowAsync(wallet); } else { wallet.SignStatus = EnumWalletSignStatus.Apply; request.Adapt(wallet); await channelWalletRepository.UpdateNowAsync(wallet); } await channelWalletService.GetEnterpriseWalletBalance(wallet); return new SaveChannelPingAnPayWalletCommandResult { WalletId = wallet.Id, Id = wallet.Id, Balance = wallet.Balance, ErrorCode = wallet.ErrorCode, FailReason = wallet.FailReason }; } @@ -80,7 +86,7 @@ .FirstOrDefaultAsync(); if (wallet == null) throw Oops.Oh(EnumErrorCodeType.s404, "未开通钱包"); if (wallet.SignStatus != EnumWalletSignStatus.Normal) throw Oops.Oh(EnumErrorCodeType.s404, "钱包未签约"); await channelWalletService.GetEnterpriseWalletBalance(wallet); if (request.Amount > wallet.Balance) throw Oops.Oh(EnumErrorCodeType.s404, "余额不足"); ApiTools.Application/ChannelWallets/Queries/ChannelWalletQueryHandler.cs
@@ -14,11 +14,28 @@ /// 查询渠道钱包交易详情 /// </summary> public class ChannelWalletQueryHandler( ChannelWalletRepository channelWalletRepository, ChannelWalletTransactionRepository channelWalletTransactionRepository ) : IRequestHandler<GetChannelPingAnPayWalletQuery, GetChannelPingAnPayWalletQueryResult>, IRequestHandler<GetChannelWalletTransactionQuery, GetChannelWalletTransactionQueryResult> { private readonly ChannelWalletRepository channelWalletRepository = channelWalletRepository; private readonly ChannelWalletTransactionRepository channelWalletTransactionRepository = channelWalletTransactionRepository; /// <summary> /// 查询渠道平安银行钱包 /// </summary> /// <param name="request"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task<GetChannelPingAnPayWalletQueryResult> Handle(GetChannelPingAnPayWalletQuery request, CancellationToken cancellationToken) { return await channelWalletRepository.GetQueryable() .Where(it => it.OutWalletId == request.OutWalletId) .ProjectToType<GetChannelPingAnPayWalletQueryResult>() .FirstOrDefaultAsync(); } /// <summary> /// 查询渠道钱包交易详情 @@ -28,11 +45,11 @@ /// <returns></returns> public async Task<GetChannelWalletTransactionQueryResult> Handle(GetChannelWalletTransactionQuery request, CancellationToken cancellationToken) { var logier = JwtUtils.GetCurrentLogier(); return await channelWalletTransactionRepository.GetQueryable() .Where(it => it.Wallet.ChannelId == logier.ChannelId && it.OutCode == request.OutCode) .Where(it => it.OutCode == request.OutCode) .ProjectToType<GetChannelWalletTransactionQueryResult>() .FirstOrDefaultAsync(); } } } ApiTools.Core/ApiTools.Core.xml
@@ -2263,16 +2263,6 @@ 外部钱包Id </summary> </member> <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommand.Bank"> <summary> 所属银行 </summary> </member> <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommand.BankBranch"> <summary> 所属支行 </summary> </member> <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommand.Name"> <summary> 户名 @@ -2283,7 +2273,7 @@ 账号 </summary> </member> <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommandResult.WalletId"> <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommandResult.Id"> <summary> 钱包Id </summary> @@ -2291,16 +2281,6 @@ <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommandResult.Balance"> <summary> 余额 </summary> </member> <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommandResult.ErrorCode"> <summary> 错误代码 </summary> </member> <member name="P:ApiTools.Core.SaveChannelPingAnPayWalletCommandResult.FailReason"> <summary> 返回具体的原因。 </summary> </member> <member name="T:ApiTools.Core.SubmitChannelWalletTransferCommand"> @@ -2403,6 +2383,41 @@ 查询到的订单状态为FAIL失败或REFUND退票时,返回具体的原因。 </summary> </member> <member name="T:ApiTools.Core.GetChannelPingAnPayWalletQuery"> <summary> 查询渠道平安银行钱包 </summary> </member> <member name="P:ApiTools.Core.GetChannelPingAnPayWalletQuery.OutWalletId"> <summary> 外部钱包Id </summary> </member> <member name="T:ApiTools.Core.GetChannelPingAnPayWalletQueryResult"> <summary> 查询渠道平安银行钱包 </summary> </member> <member name="P:ApiTools.Core.GetChannelPingAnPayWalletQueryResult.Id"> <summary> 钱包Id </summary> </member> <member name="P:ApiTools.Core.GetChannelPingAnPayWalletQueryResult.Name"> <summary> 户名 </summary> </member> <member name="P:ApiTools.Core.GetChannelPingAnPayWalletQueryResult.Identity"> <summary> 账号 </summary> </member> <member name="P:ApiTools.Core.GetChannelPingAnPayWalletQueryResult.Balance"> <summary> 余额 </summary> </member> <member name="T:ApiTools.Core.GetChannelWalletTransactionQuery"> <summary> 查询渠道钱包交易详情 ApiTools.Core/Models/ChannelWallets/Commands/SaveChannelPingAnPayWalletCommand.cs
@@ -19,16 +19,6 @@ public string OutWalletId { get; set; } /// <summary> /// 所属银行 /// </summary> public string Bank { get; set; } /// <summary> /// 所属支行 /// </summary> public string BankBranch { get; set; } /// <summary> /// 户名 /// </summary> public string Name { get; set; } @@ -45,21 +35,11 @@ /// <summary> /// 钱包Id /// </summary> public Guid WalletId { get; set; } public Guid Id { get; set; } /// <summary> /// 余额 /// </summary> public decimal Balance { get; set; } /// <summary> /// 错误代码 /// </summary> public string ErrorCode { get; set; } /// <summary> /// 返回具体的原因。 /// </summary> public string FailReason { get; set; } } } ApiTools.Core/Models/ChannelWallets/Queries/GetChannelPingAnPayWalletQuery.cs
New file @@ -0,0 +1,53 @@ using MediatR; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ApiTools.Core { /// <summary> /// 查询渠道平安银行钱包 /// </summary> [Resource([EnumResourceController.UserServerChannelWallet])] public class GetChannelPingAnPayWalletQuery : IRequest<GetChannelPingAnPayWalletQueryResult> { /// <summary> /// 外部钱包Id /// </summary> public string OutWalletId { get; set; } } /// <summary> /// 查询渠道平安银行钱包 /// </summary> public class GetChannelPingAnPayWalletQueryResult { /// <summary> /// 钱包Id /// </summary> public Guid Id { get; set; } /// <summary> /// 户名 /// </summary> public string Name { get; set; } /// <summary> /// 账号 /// </summary> public string Identity { get; set; } /// <summary> /// 余额 /// </summary> public decimal Balance { get; set; } /// <summary> /// 签约状态 /// </summary> public EnumWalletSignStatus SignStatus { get; set; } } } ApiTools.Core/Services/ChannelPingAnPayWalletService.cs
@@ -52,6 +52,9 @@ } else { wallet.ErrorCode = null; wallet.FailReason = null; wallet.SignStatus = EnumWalletSignStatus.Normal; wallet.Balance = response.AcctBalance.ToDecimal().Value; } } @@ -184,6 +187,16 @@ : response.Stt == "30" ? EnumWalletTransactionStatus.Fail : EnumWalletTransactionStatus.Dealing; if (transaction.TransactionStatus == EnumWalletTransactionStatus.Fail) { transaction.ErrorCode = response.Stt; transaction.FailReason = response.BackRem; } else { transaction.ErrorCode = null; transaction.FailReason = null; } if (transaction.TransactionStatus == EnumWalletTransactionStatus.Success && transaction.TransDate == null) { transaction.TransDate = DateTime.Now; ApiTools.Web.Entry/ApiTools.Web.Entry.csproj
@@ -21,6 +21,13 @@ <ProjectReference Include="..\ApiTools.Application\ApiTools.Application.csproj" /> <ProjectReference Include="..\ApiTools.Database.Migrations\ApiTools.Database.Migrations.csproj" /> </ItemGroup> <ItemGroup> <None Update="PingAnPayCert\config.properties"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup> <ProjectExtensions> <VisualStudio> <UserProperties properties_4launchsettings_1json__JsonSchema="" /> ApiTools.Web.Entry/PingAnPayCert/config.properties
New file @@ -0,0 +1,8 @@ appId=22c4781c85 publicKey=0480E866C61C385C2916901CFC10AA53DFD89DBFFA87A4A49C26F82C66F30B7A7038D61FDBE08236F6ACFA6216A6FBCC511841586ABE24107438E049BE98C4660C appPrivateKey=7051c204b10e5380859d8e38c3061fbe2d309c4cac1b89f0c331690d291fb18b baseUrl=https://my-st1.orangebank.com.cn:567/fat7/openapi/gateway/ fileUploadUrl=https://my-st1.orangebank.com.cn:567/fat7/openapi/file//boapFile/upload fileDownLoadUrl=https://my-st1.orangebank.com.cn:567/fat7/openapi/file//boapFile/download signMethod=SM2 appSecret=73W620