This commit is contained in:
MeysamMoghaddam
2025-10-13 13:00:03 +03:30
parent 4e56dd1204
commit 408e0bdf79
16 changed files with 63 additions and 12 deletions

View File

@@ -3,6 +3,7 @@ using CMSMicroservice.Protobuf.Protos.Package;
using CMSMicroservice.Protobuf.Protos.User; using CMSMicroservice.Protobuf.Protos.User;
using CMSMicroservice.Protobuf.Protos.UserAddress; using CMSMicroservice.Protobuf.Protos.UserAddress;
using CMSMicroservice.Protobuf.Protos.UserOrder; using CMSMicroservice.Protobuf.Protos.UserOrder;
using PYMSMicroservice.Protobuf.Protos.Transaction;
namespace FrontOffice.BFF.Application.Common.Interfaces; namespace FrontOffice.BFF.Application.Common.Interfaces;
@@ -21,4 +22,8 @@ public interface IApplicationContractContext
UserOrderContract.UserOrderContractClient UserOrder { get; } UserOrderContract.UserOrderContractClient UserOrder { get; }
OtpTokenContract.OtpTokenContractClient OtpToken { get; } OtpTokenContract.OtpTokenContractClient OtpToken { get; }
#endregion #endregion
#region PYMS
TransactionContract.TransactionContractClient ZarinTransactions { get; }
#endregion
} }

View File

@@ -1,3 +1,5 @@
using PYMSMicroservice.Protobuf.Protos;
namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentRequest; namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentRequest;
public record PaymentRequestCommand : IRequest<PaymentRequestResponseDto> public record PaymentRequestCommand : IRequest<PaymentRequestResponseDto>
{ {

View File

@@ -1,3 +1,5 @@
using PYMSMicroservice.Protobuf.Protos.Transaction;
namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentRequest; namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentRequest;
public class PaymentRequestCommandHandler : IRequestHandler<PaymentRequestCommand, PaymentRequestResponseDto> public class PaymentRequestCommandHandler : IRequestHandler<PaymentRequestCommand, PaymentRequestResponseDto>
{ {
@@ -10,7 +12,9 @@ public class PaymentRequestCommandHandler : IRequestHandler<PaymentRequestComman
public async Task<PaymentRequestResponseDto> Handle(PaymentRequestCommand request, CancellationToken cancellationToken) public async Task<PaymentRequestResponseDto> Handle(PaymentRequestCommand request, CancellationToken cancellationToken)
{ {
//TODO: Implement your business logic var req = request.Adapt<PaymentRequestRequest>();
return new PaymentRequestResponseDto(); req.MerchantId = "6b098fc8-f490-47a1-aac3-1de1a1b84404";
var response = await _context.ZarinTransactions.PaymentRequestAsync(request: req, cancellationToken: cancellationToken);
return response.Adapt<PaymentRequestResponseDto>();
} }
} }

View File

@@ -1,3 +1,5 @@
using PYMSMicroservice.Protobuf.Protos.Transaction;
namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentVerification; namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentVerification;
public class PaymentVerificationCommandHandler : IRequestHandler<PaymentVerificationCommand, PaymentVerificationResponseDto> public class PaymentVerificationCommandHandler : IRequestHandler<PaymentVerificationCommand, PaymentVerificationResponseDto>
{ {
@@ -10,7 +12,7 @@ public class PaymentVerificationCommandHandler : IRequestHandler<PaymentVerifica
public async Task<PaymentVerificationResponseDto> Handle(PaymentVerificationCommand request, CancellationToken cancellationToken) public async Task<PaymentVerificationResponseDto> Handle(PaymentVerificationCommand request, CancellationToken cancellationToken)
{ {
//TODO: Implement your business logic var response = await _context.ZarinTransactions.PaymentVerificationAsync(request: request.Adapt<PaymentVerificationRequest>(), cancellationToken: cancellationToken);
return new PaymentVerificationResponseDto(); return response.Adapt<PaymentVerificationResponseDto>();
} }
} }

View File

@@ -1,3 +1,6 @@
using PYMSMicroservice.Protobuf.Protos;
using PaginationState = FrontOffice.BFF.Application.Common.Models.PaginationState;
namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter; namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter;
public record GetAllTransactionByFilterQuery : IRequest<GetAllTransactionByFilterResponseDto> public record GetAllTransactionByFilterQuery : IRequest<GetAllTransactionByFilterResponseDto>
{ {

View File

@@ -1,3 +1,5 @@
using PYMSMicroservice.Protobuf.Protos.Transaction;
namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter; namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter;
public class GetAllTransactionByFilterQueryHandler : IRequestHandler<GetAllTransactionByFilterQuery, GetAllTransactionByFilterResponseDto> public class GetAllTransactionByFilterQueryHandler : IRequestHandler<GetAllTransactionByFilterQuery, GetAllTransactionByFilterResponseDto>
{ {
@@ -10,7 +12,7 @@ public class GetAllTransactionByFilterQueryHandler : IRequestHandler<GetAllTrans
public async Task<GetAllTransactionByFilterResponseDto> Handle(GetAllTransactionByFilterQuery request, CancellationToken cancellationToken) public async Task<GetAllTransactionByFilterResponseDto> Handle(GetAllTransactionByFilterQuery request, CancellationToken cancellationToken)
{ {
//TODO: Implement your business logic var response = await _context.ZarinTransactions.GetAllTransactionByFilterAsync(request: request.Adapt<GetAllTransactionByFilterRequest>(), cancellationToken: cancellationToken);
return new GetAllTransactionByFilterResponseDto(); return response.Adapt<GetAllTransactionByFilterResponseDto>();
} }
} }

View File

@@ -1,3 +1,6 @@
using PYMSMicroservice.Protobuf.Protos;
using MetaData = FrontOffice.BFF.Application.Common.Models.MetaData;
namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter; namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter;
public class GetAllTransactionByFilterResponseDto public class GetAllTransactionByFilterResponseDto
{ {

View File

@@ -1,3 +1,5 @@
using PYMSMicroservice.Protobuf.Protos.Transaction;
namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetTransaction; namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetTransaction;
public class GetTransactionQueryHandler : IRequestHandler<GetTransactionQuery, GetTransactionResponseDto> public class GetTransactionQueryHandler : IRequestHandler<GetTransactionQuery, GetTransactionResponseDto>
{ {
@@ -10,7 +12,7 @@ public class GetTransactionQueryHandler : IRequestHandler<GetTransactionQuery, G
public async Task<GetTransactionResponseDto> Handle(GetTransactionQuery request, CancellationToken cancellationToken) public async Task<GetTransactionResponseDto> Handle(GetTransactionQuery request, CancellationToken cancellationToken)
{ {
//TODO: Implement your business logic var response = await _context.ZarinTransactions.GetTransactionAsync(request: request.Adapt<GetTransactionRequest>(), cancellationToken: cancellationToken);
return new GetTransactionResponseDto(); return response.Adapt<GetTransactionResponseDto>();
} }
} }

View File

@@ -1,3 +1,5 @@
using PYMSMicroservice.Protobuf.Protos;
namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetTransaction; namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetTransaction;
public class GetTransactionResponseDto public class GetTransactionResponseDto
{ {

View File

@@ -6,6 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Afrino.PYMSMicroservice.Protobuf" Version="0.0.11" />
<PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.117" /> <PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.117" />
<PackageReference Include="Google.Protobuf" Version="3.23.3" /> <PackageReference Include="Google.Protobuf" Version="3.23.3" />
<PackageReference Include="Grpc.Net.ClientFactory" Version="2.54.0" /> <PackageReference Include="Grpc.Net.ClientFactory" Version="2.54.0" />

View File

@@ -5,6 +5,7 @@ using CMSMicroservice.Protobuf.Protos.UserAddress;
using CMSMicroservice.Protobuf.Protos.UserOrder; using CMSMicroservice.Protobuf.Protos.UserOrder;
using FrontOffice.BFF.Application.Common.Interfaces; using FrontOffice.BFF.Application.Common.Interfaces;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using PYMSMicroservice.Protobuf.Protos.Transaction;
namespace FrontOffice.BFF.Infrastructure.Services; namespace FrontOffice.BFF.Infrastructure.Services;
@@ -49,4 +50,9 @@ public class ApplicationContractContext : IApplicationContractContext
public OtpTokenContract.OtpTokenContractClient OtpToken => GetService<OtpTokenContract.OtpTokenContractClient>(); public OtpTokenContract.OtpTokenContractClient OtpToken => GetService<OtpTokenContract.OtpTokenContractClient>();
#endregion #endregion
#region PYMS
public TransactionContract.TransactionContractClient ZarinTransactions => GetService<TransactionContract.TransactionContractClient>();
#endregion
} }

View File

@@ -4,7 +4,7 @@ public class TransactionProfile : IRegister
{ {
void IRegister.Register(TypeAdapterConfig config) void IRegister.Register(TypeAdapterConfig config)
{ {
config.NewConfig<Protobuf.Protos.Transaction.GetAllTransactionByFilterRequest, Application.TransactionCQ.Queries.GetAllTransactionByFilter.GetAllTransactionByFilterQuery>() config.NewConfig<Transaction.Protobuf.Protos.Transaction.GetAllTransactionByFilterRequest, Application.TransactionCQ.Queries.GetAllTransactionByFilter.GetAllTransactionByFilterQuery>()
.IgnoreIf((src, dest) => !src.Filter.HasCurrency, dest => dest.Filter.Currency) .IgnoreIf((src, dest) => !src.Filter.HasCurrency, dest => dest.Filter.Currency)
.IgnoreIf((src, dest) => !src.Filter.HasType, dest => dest.Filter.Type); .IgnoreIf((src, dest) => !src.Filter.HasType, dest => dest.Filter.Type);
} }

View File

@@ -20,6 +20,7 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\FrontOffice.BFF.Application\FrontOffice.BFF.Application.csproj" /> <ProjectReference Include="..\FrontOffice.BFF.Application\FrontOffice.BFF.Application.csproj" />
<ProjectReference Include="..\FrontOffice.BFF.Infrastructure\FrontOffice.BFF.Infrastructure.csproj" /> <ProjectReference Include="..\FrontOffice.BFF.Infrastructure\FrontOffice.BFF.Infrastructure.csproj" />
<ProjectReference Include="..\Protobufs\FrontOffice.BFF.Transaction.Protobuf\FrontOffice.BFF.Transaction.Protobuf.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Protobufs\FrontOffice.BFF.User.Protobuf\FrontOffice.BFF.User.Protobuf.csproj" /> <ProjectReference Include="..\Protobufs\FrontOffice.BFF.User.Protobuf\FrontOffice.BFF.User.Protobuf.csproj" />

View File

@@ -10,7 +10,8 @@
} }
}, },
"GrpcChannelOptions": { "GrpcChannelOptions": {
"CMSMSAddress": "https://cms.kbs1.ir" "CMSMSAddress": "https://cms.kbs1.ir",
"PYMSMSAddress": "https://ipg.afrino.co"
}, },
"Authentication": { "Authentication": {
"Authority": "https://ids.domain.com/", "Authority": "https://ids.domain.com/",

View File

@@ -20,6 +20,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FrontOffice.BFF.UserAddress
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FrontOffice.BFF.UserOrder.Protobuf", "Protobufs\FrontOffice.BFF.UserOrder.Protobuf\FrontOffice.BFF.UserOrder.Protobuf.csproj", "{663CDDFA-E15F-4356-AE01-2311C9B83D52}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FrontOffice.BFF.UserOrder.Protobuf", "Protobufs\FrontOffice.BFF.UserOrder.Protobuf\FrontOffice.BFF.UserOrder.Protobuf.csproj", "{663CDDFA-E15F-4356-AE01-2311C9B83D52}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FrontOffice.BFF.Transaction.Protobuf", "Protobufs\FrontOffice.BFF.Transaction.Protobuf\FrontOffice.BFF.Transaction.Protobuf.csproj", "{F59861D9-01D6-44C9-85A9-E6050D55D290}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -58,6 +60,10 @@ Global
{663CDDFA-E15F-4356-AE01-2311C9B83D52}.Debug|Any CPU.Build.0 = Debug|Any CPU {663CDDFA-E15F-4356-AE01-2311C9B83D52}.Debug|Any CPU.Build.0 = Debug|Any CPU
{663CDDFA-E15F-4356-AE01-2311C9B83D52}.Release|Any CPU.ActiveCfg = Release|Any CPU {663CDDFA-E15F-4356-AE01-2311C9B83D52}.Release|Any CPU.ActiveCfg = Release|Any CPU
{663CDDFA-E15F-4356-AE01-2311C9B83D52}.Release|Any CPU.Build.0 = Release|Any CPU {663CDDFA-E15F-4356-AE01-2311C9B83D52}.Release|Any CPU.Build.0 = Release|Any CPU
{F59861D9-01D6-44C9-85A9-E6050D55D290}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F59861D9-01D6-44C9-85A9-E6050D55D290}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F59861D9-01D6-44C9-85A9-E6050D55D290}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F59861D9-01D6-44C9-85A9-E6050D55D290}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -67,5 +73,6 @@ Global
{C8A16685-0A51-4D1A-B399-FB94C90D9BDC} = {CA9BF4D6-6729-4011-888E-48F5F739B469} {C8A16685-0A51-4D1A-B399-FB94C90D9BDC} = {CA9BF4D6-6729-4011-888E-48F5F739B469}
{D70F0C9A-E954-4A67-B23D-9BE22721BD5D} = {CA9BF4D6-6729-4011-888E-48F5F739B469} {D70F0C9A-E954-4A67-B23D-9BE22721BD5D} = {CA9BF4D6-6729-4011-888E-48F5F739B469}
{663CDDFA-E15F-4356-AE01-2311C9B83D52} = {CA9BF4D6-6729-4011-888E-48F5F739B469} {663CDDFA-E15F-4356-AE01-2311C9B83D52} = {CA9BF4D6-6729-4011-888E-48F5F739B469}
{F59861D9-01D6-44C9-85A9-E6050D55D290} = {CA9BF4D6-6729-4011-888E-48F5F739B469}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@@ -4,16 +4,17 @@
<TargetFramework>net7.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<Version>1.0.0</Version> <Version>0.0.111</Version>
<DebugType>None</DebugType> <DebugType>None</DebugType>
<DebugSymbols>False</DebugSymbols> <DebugSymbols>False</DebugSymbols>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild> <GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<PackageId>Foursat.FrontOffice.BFF.Transaction.Protobuf</PackageId>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Google.Protobuf" Version="3.23.3" /> <PackageReference Include="Google.Protobuf" Version="3.23.3" />
<PackageReference Include="Grpc.Core.Api" Version="2.54.0" /> <PackageReference Include="Grpc.Core.Api" Version="2.54.0" />
<PackageReference Include="Grpc.Tools" Version="2.55.1"> <PackageReference Include="Grpc.Tools" Version="2.72.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
</PackageReference> </PackageReference>
@@ -24,4 +25,13 @@
<ItemGroup> <ItemGroup>
<Protobuf Include="Protos\transaction.proto" ProtoRoot="Protos\" GrpcServices="Both" /> <Protobuf Include="Protos\transaction.proto" ProtoRoot="Protos\" GrpcServices="Both" />
</ItemGroup> </ItemGroup>
<Target Name="PushToFoursatNuget" AfterTargets="Pack">
<PropertyGroup>
<NugetPackagePath>$(PackageOutputPath)$(PackageId).$(Version).nupkg</NugetPackagePath>
<PushCommand>dotnet nuget push **/*.nupkg --source https://git.afrino.co/api/packages/FourSat/nuget/index.json --api-key 061a5cb15517c6da39c16cfce8556c55ae104d0d --skip-duplicate &amp;&amp; del "$(NugetPackagePath)"</PushCommand>
</PropertyGroup>
<Exec Command="$(PushCommand)" />
</Target>
</Project> </Project>