feat: update user weekly balances model and mappings - Enhanced UserWeeklyBalanceModel with new properties and updated mappings in response DTO and profile
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 1m34s

This commit is contained in:
masoodafar-web
2025-12-27 21:52:42 +03:30
parent 7087df23ef
commit ed45a1759b
6 changed files with 43 additions and 18 deletions
@@ -49,7 +49,7 @@ public class GetAllWeeklyPoolsQueryHandler : IRequestHandler<GetAllWeeklyPoolsQu
{ {
Id = x.Id, Id = x.Id,
WeekDefinitionId = x.WeekDefinitionId, WeekDefinitionId = x.WeekDefinitionId,
WeekDisplayName = x.WeekDefinition.PersianWeekNumber, WeekDisplayName = x.WeekDefinition.DisplayName,
TotalPoolAmount = x.TotalPoolAmount, TotalPoolAmount = x.TotalPoolAmount,
TotalBalances = x.TotalBalances, TotalBalances = x.TotalBalances,
ValuePerBalance = x.ValuePerBalance, ValuePerBalance = x.ValuePerBalance,
@@ -17,6 +17,7 @@ public class GetUserWeeklyBalancesQueryHandler : IRequestHandler<GetUserWeeklyBa
{ {
var query = _context.NetworkWeeklyBalances var query = _context.NetworkWeeklyBalances
.Include(x => x.WeekDefinition) .Include(x => x.WeekDefinition)
.Include(x => x.User)
.AsNoTracking() .AsNoTracking()
.AsQueryable(); .AsQueryable();
@@ -49,10 +50,15 @@ public class GetUserWeeklyBalancesQueryHandler : IRequestHandler<GetUserWeeklyBa
{ {
Id = x.Id, Id = x.Id,
UserId = x.UserId, UserId = x.UserId,
UserFullName = x.User != null ? $"{x.User.FirstName} {x.User.LastName}".Trim() : "",
WeekDefinitionId = x.WeekDefinitionId, WeekDefinitionId = x.WeekDefinitionId,
WeekDisplayName = x.WeekDefinition != null ? x.WeekDefinition.DisplayName : "", WeekDisplayName = x.WeekDefinition != null ? x.WeekDefinition.DisplayName : "",
LeftLegBalances = x.LeftLegBalances, LeftLegNewMembers = x.LeftLegNewMembers,
RightLegBalances = x.RightLegBalances, LeftLegCarryover = x.LeftLegCarryover,
LeftLegTotal = x.LeftLegTotal,
RightLegNewMembers = x.RightLegNewMembers,
RightLegCarryover = x.RightLegCarryover,
RightLegTotal = x.RightLegTotal,
TotalBalances = x.TotalBalances, TotalBalances = x.TotalBalances,
WeeklyPoolContribution = x.WeeklyPoolContribution, WeeklyPoolContribution = x.WeeklyPoolContribution,
CalculatedAt = x.CalculatedAt, CalculatedAt = x.CalculatedAt,
@@ -10,11 +10,20 @@ public class GetUserWeeklyBalancesResponseModel
{ {
public long Id { get; set; } public long Id { get; set; }
public long UserId { get; set; } public long UserId { get; set; }
public string UserFullName { get; set; } = string.Empty;
public long WeekDefinitionId { get; set; } public long WeekDefinitionId { get; set; }
public string WeekDisplayName { get; set; } = string.Empty; public string WeekDisplayName { get; set; } = string.Empty;
public int LeftLegBalances { get; set; }
public int RightLegBalances { get; set; } // چپ
public int LeftLegNewMembers { get; set; }
public int LeftLegCarryover { get; set; }
public int LeftLegTotal { get; set; }
// راست
public int RightLegNewMembers { get; set; }
public int RightLegCarryover { get; set; }
public int RightLegTotal { get; set; }
public int TotalBalances { get; set; } public int TotalBalances { get; set; }
public long WeeklyPoolContribution { get; set; } public long WeeklyPoolContribution { get; set; }
public DateTime? CalculatedAt { get; set; } public DateTime? CalculatedAt { get; set; }
@@ -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.161</Version> <Version>0.0.162</Version>
<DebugType>None</DebugType> <DebugType>None</DebugType>
<DebugSymbols>False</DebugSymbols> <DebugSymbols>False</DebugSymbols>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild> <GeneratePackageOnBuild>False</GeneratePackageOnBuild>
@@ -316,15 +316,20 @@ message UserWeeklyBalanceModel
{ {
int64 id = 1; int64 id = 1;
int64 user_id = 2; int64 user_id = 2;
int64 week_definition_id = 3; string user_full_name = 3; // نام کامل کاربر
string week_display_name = 4; int64 week_definition_id = 4;
int32 left_leg_balances = 5; string week_display_name = 5;
int32 right_leg_balances = 6; int32 left_leg_new_members = 6; // اعضای جدید چپ این هفته
int32 total_balances = 7; int32 left_leg_carryover = 7; // باقیمانده چپ از هفته قبل
int64 weekly_pool_contribution = 8; int32 left_leg_total = 8; // مجموع چپ (NewMembers + Carryover)
google.protobuf.Timestamp calculated_at = 9; int32 right_leg_new_members = 9; // اعضای جدید راست این هفته
bool is_expired = 10; int32 right_leg_carryover = 10; // باقیمانده راست از هفته قبل
google.protobuf.Timestamp created = 11; int32 right_leg_total = 11; // مجموع راست (NewMembers + Carryover)
int32 total_balances = 12; // تعداد تعادل = MIN(چپ, راست)
int64 weekly_pool_contribution = 13;
google.protobuf.Timestamp calculated_at = 14;
bool is_expired = 15;
google.protobuf.Timestamp created = 16;
} }
// GetAllWeeklyPools Query // GetAllWeeklyPools Query
@@ -107,10 +107,15 @@ public class CommissionProfile : IRegister
config.NewConfig<GetUserWeeklyBalancesResponseModel, UserWeeklyBalanceModel>() config.NewConfig<GetUserWeeklyBalancesResponseModel, UserWeeklyBalanceModel>()
.Map(dest => dest.Id, src => src.Id) .Map(dest => dest.Id, src => src.Id)
.Map(dest => dest.UserId, src => src.UserId) .Map(dest => dest.UserId, src => src.UserId)
.Map(dest => dest.UserFullName, src => src.UserFullName)
.Map(dest => dest.WeekDefinitionId, src => src.WeekDefinitionId) .Map(dest => dest.WeekDefinitionId, src => src.WeekDefinitionId)
.Map(dest => dest.WeekDisplayName, src => src.WeekDisplayName) .Map(dest => dest.WeekDisplayName, src => src.WeekDisplayName)
.Map(dest => dest.LeftLegBalances, src => src.LeftLegBalances) .Map(dest => dest.LeftLegNewMembers, src => src.LeftLegNewMembers)
.Map(dest => dest.RightLegBalances, src => src.RightLegBalances) .Map(dest => dest.LeftLegCarryover, src => src.LeftLegCarryover)
.Map(dest => dest.LeftLegTotal, src => src.LeftLegTotal)
.Map(dest => dest.RightLegNewMembers, src => src.RightLegNewMembers)
.Map(dest => dest.RightLegCarryover, src => src.RightLegCarryover)
.Map(dest => dest.RightLegTotal, src => src.RightLegTotal)
.Map(dest => dest.TotalBalances, src => src.TotalBalances) .Map(dest => dest.TotalBalances, src => src.TotalBalances)
.Map(dest => dest.WeeklyPoolContribution, src => src.WeeklyPoolContribution) .Map(dest => dest.WeeklyPoolContribution, src => src.WeeklyPoolContribution)
.Map(dest => dest.CalculatedAt, src => src.CalculatedAt.HasValue .Map(dest => dest.CalculatedAt, src => src.CalculatedAt.HasValue