refactor: simplify status handling in commission payout queries and responses
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m34s

This commit is contained in:
masoodafar-web
2025-12-27 07:10:44 +03:30
parent a429a2328a
commit 84c519060f
5 changed files with 7 additions and 39 deletions
@@ -44,8 +44,7 @@ public class GetMyCommissionPayoutsQueryHandler : IRequestHandler<GetMyCommissio
BalancesEarned = (int)p.BalancesEarned, BalancesEarned = (int)p.BalancesEarned,
TotalAmount = p.TotalAmount, TotalAmount = p.TotalAmount,
AmountFormatted = FormatCurrency(p.TotalAmount), AmountFormatted = FormatCurrency(p.TotalAmount),
Status = MapStatus(p.Status), Status = p.Status,
StatusBadgeColor = GetStatusColor(p.Status),
CalculatedDate = p.Created?.ToDateTime() ?? DateTime.UtcNow, CalculatedDate = p.Created?.ToDateTime() ?? DateTime.UtcNow,
DatePersian = FormatPersianDate(p.Created?.ToDateTime()) DatePersian = FormatPersianDate(p.Created?.ToDateTime())
}).ToList(); }).ToList();
@@ -59,30 +58,6 @@ public class GetMyCommissionPayoutsQueryHandler : IRequestHandler<GetMyCommissio
}; };
} }
private static string MapStatus(int status)
{
return status switch
{
0 => "Pending",
1 => "Calculated",
2 => "Paid",
3 => "Withdrawn",
_ => "Unknown"
};
}
private static string GetStatusColor(int status)
{
return status switch
{
0 => "warning",
1 => "info",
2 => "success",
3 => "success",
_ => "default"
};
}
private static string FormatCurrency(long amount) private static string FormatCurrency(long amount)
{ {
return $"{amount:N0} تومان"; return $"{amount:N0} تومان";
@@ -41,14 +41,9 @@ public class CommissionPayoutDto
public string AmountFormatted { get; set; } = string.Empty; public string AmountFormatted { get; set; } = string.Empty;
/// <summary> /// <summary>
/// وضعیت (Pending/Calculated/Paid/Withdrawn) /// وضعیت (0=Pending=1,Paid=2,WithdrawRequested=3,Withdrawn=4,PaymentFailed= 5,Cancelled)
/// </summary> /// </summary>
public string Status { get; set; } = string.Empty; public int Status { get; set; }
/// <summary>
/// رنگ Badge
/// </summary>
public string StatusBadgeColor { get; set; } = string.Empty;
/// <summary> /// <summary>
/// تاریخ محاسبه /// تاریخ محاسبه
@@ -36,7 +36,6 @@ public class CommissionProfile : IRegister
.Map(dest => dest.TotalAmount, src => src.TotalAmount) .Map(dest => dest.TotalAmount, src => src.TotalAmount)
.Map(dest => dest.AmountFormatted, src => src.AmountFormatted) .Map(dest => dest.AmountFormatted, src => src.AmountFormatted)
.Map(dest => dest.Status, src => src.Status) .Map(dest => dest.Status, src => src.Status)
.Map(dest => dest.StatusBadgeColor, src => src.StatusBadgeColor)
.Map(dest => dest.CalculatedDate, src => Timestamp.FromDateTime(DateTime.SpecifyKind(src.CalculatedDate, DateTimeKind.Utc))) .Map(dest => dest.CalculatedDate, src => Timestamp.FromDateTime(DateTime.SpecifyKind(src.CalculatedDate, DateTimeKind.Utc)))
.Map(dest => dest.DatePersian, src => src.DatePersian); .Map(dest => dest.DatePersian, src => src.DatePersian);
@@ -3,7 +3,7 @@
<TargetFramework>net9.0</TargetFramework> <TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<Version>0.0.3</Version> <Version>0.0.4</Version>
<PackageId>Foursat.FrontOffice.BFF.Commission.Protobuf</PackageId> <PackageId>Foursat.FrontOffice.BFF.Commission.Protobuf</PackageId>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild> <GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<DebugSymbols>False</DebugSymbols> <DebugSymbols>False</DebugSymbols>
@@ -63,10 +63,9 @@ message CommissionPayoutModel
int32 balances_earned = 4; int32 balances_earned = 4;
int64 total_amount = 5; int64 total_amount = 5;
string amount_formatted = 6; string amount_formatted = 6;
string status = 7; int32 status = 7; // 0=Pending, 1=Paid, 2=WithdrawRequested, 3=Withdrawn, 4=PaymentFailed, 5=Cancelled
string status_badge_color = 8; google.protobuf.Timestamp calculated_date = 8;
google.protobuf.Timestamp calculated_date = 9; string date_persian = 9;
string date_persian = 10;
} }
// ============ GetMyWeeklyBalances ============ // ============ GetMyWeeklyBalances ============