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,
TotalAmount = p.TotalAmount,
AmountFormatted = FormatCurrency(p.TotalAmount),
Status = MapStatus(p.Status),
StatusBadgeColor = GetStatusColor(p.Status),
Status = p.Status,
CalculatedDate = p.Created?.ToDateTime() ?? DateTime.UtcNow,
DatePersian = FormatPersianDate(p.Created?.ToDateTime())
}).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)
{
return $"{amount:N0} تومان";
@@ -41,14 +41,9 @@ public class CommissionPayoutDto
public string AmountFormatted { get; set; } = string.Empty;
/// <summary>
/// وضعیت (Pending/Calculated/Paid/Withdrawn)
/// وضعیت (0=Pending=1,Paid=2,WithdrawRequested=3,Withdrawn=4,PaymentFailed= 5,Cancelled)
/// </summary>
public string Status { get; set; } = string.Empty;
/// <summary>
/// رنگ Badge
/// </summary>
public string StatusBadgeColor { get; set; } = string.Empty;
public int Status { get; set; }
/// <summary>
/// تاریخ محاسبه
@@ -36,7 +36,6 @@ public class CommissionProfile : IRegister
.Map(dest => dest.TotalAmount, src => src.TotalAmount)
.Map(dest => dest.AmountFormatted, src => src.AmountFormatted)
.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.DatePersian, src => src.DatePersian);
@@ -3,7 +3,7 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>0.0.3</Version>
<Version>0.0.4</Version>
<PackageId>Foursat.FrontOffice.BFF.Commission.Protobuf</PackageId>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
<DebugSymbols>False</DebugSymbols>
@@ -63,10 +63,9 @@ message CommissionPayoutModel
int32 balances_earned = 4;
int64 total_amount = 5;
string amount_formatted = 6;
string status = 7;
string status_badge_color = 8;
google.protobuf.Timestamp calculated_date = 9;
string date_persian = 10;
int32 status = 7; // 0=Pending, 1=Paid, 2=WithdrawRequested, 3=Withdrawn, 4=PaymentFailed, 5=Cancelled
google.protobuf.Timestamp calculated_date = 8;
string date_persian = 9;
}
// ============ GetMyWeeklyBalances ============