diff --git a/src/BackOffice.BFF.Application/NetworkMembershipCQ/Queries/GetUserNetworkInfo/GetUserNetworkInfoResponseDto.cs b/src/BackOffice.BFF.Application/NetworkMembershipCQ/Queries/GetUserNetworkInfo/GetUserNetworkInfoResponseDto.cs
index 2fded29..ce16363 100644
--- a/src/BackOffice.BFF.Application/NetworkMembershipCQ/Queries/GetUserNetworkInfo/GetUserNetworkInfoResponseDto.cs
+++ b/src/BackOffice.BFF.Application/NetworkMembershipCQ/Queries/GetUserNetworkInfo/GetUserNetworkInfoResponseDto.cs
@@ -2,73 +2,66 @@ namespace BackOffice.BFF.Application.NetworkMembershipCQ.Queries.GetUserNetworkI
public class GetUserNetworkInfoResponseDto
{
- ///
- /// شناسه عضویت شبکه
- ///
+ // اطلاعات اصلی کاربر
public long Id { get; set; }
-
- ///
- /// شناسه کاربر
- ///
public long UserId { get; set; }
-
- ///
- /// نام کاربر
- ///
public string UserName { get; set; } = string.Empty;
-
- ///
- /// شناسه والد در شبکه
- ///
- public long? ParentId { get; set; }
-
- ///
- /// نام والد
- ///
- public string ParentName { get; set; } = string.Empty;
-
- ///
- /// موقعیت در شبکه (0=Left, 1=Right)
- ///
- public int NetworkLeg { get; set; }
-
- ///
- /// شناسه فرزند چپ
- ///
- public long? LeftChildId { get; set; }
-
- ///
- /// نام فرزند چپ
- ///
- public string LeftChildName { get; set; } = string.Empty;
-
- ///
- /// شناسه فرزند راست
- ///
- public long? RightChildId { get; set; }
-
- ///
- /// نام فرزند راست
- ///
- public string RightChildName { get; set; } = string.Empty;
-
- ///
- /// سطح در شبکه
- ///
- public int NetworkLevel { get; set; }
-
- ///
- /// کد معرف
- ///
+ public string Mobile { get; set; } = string.Empty;
+ public string Email { get; set; } = string.Empty;
+ public string NationalCode { get; set; } = string.Empty;
public string ReferralCode { get; set; } = string.Empty;
-
- ///
- /// تاریخ عضویت در شبکه
- ///
+ public bool IsMobileVerified { get; set; }
+ public DateTime? BirthDate { get; set; }
public DateTime JoinedAt { get; set; }
-
- ///
- /// تاریخ ایجاد
- ///
+
+ // اطلاعات والد
+ public long? ParentId { get; set; }
+ public string ParentName { get; set; } = string.Empty;
+ public string ParentMobile { get; set; } = string.Empty;
+
+ // موقعیت در شبکه
+ public int NetworkLeg { get; set; }
+ public int NetworkLevel { get; set; }
+ public bool IsInNetwork { get; set; }
+
+ // اطلاعات فرزند چپ
+ public long? LeftChildId { get; set; }
+ public string LeftChildName { get; set; } = string.Empty;
+ public string LeftChildMobile { get; set; } = string.Empty;
+ public DateTime? LeftChildJoinedAt { get; set; }
+
+ // اطلاعات فرزند راست
+ public long? RightChildId { get; set; }
+ public string RightChildName { get; set; } = string.Empty;
+ public string RightChildMobile { get; set; } = string.Empty;
+ public DateTime? RightChildJoinedAt { get; set; }
+
+ // آمار فرزندان مستقیم
+ public int TotalChildren { get; set; }
+ public int LeftChildCount { get; set; }
+ public int RightChildCount { get; set; }
+
+ // آمار کل شبکه
+ public int TotalLeftLegMembers { get; set; }
+ public int TotalRightLegMembers { get; set; }
+ public int TotalNetworkSize { get; set; }
+ public int MaxNetworkDepth { get; set; }
+
+ // اطلاعات پکیج و دایا
+ public bool HasReceivedDayaCredit { get; set; }
+ public DateTime? DayaCreditReceivedAt { get; set; }
+ public int PackagePurchaseMethod { get; set; }
+ public bool HasPurchasedGoldenPackage { get; set; }
+
+ // آمار مالی
+ public double TotalEarnedCommission { get; set; }
+ public double TotalPaidCommission { get; set; }
+ public double PendingCommission { get; set; }
+ public int TotalBalancesEarned { get; set; }
+
+ // آمار فعالیت
+ public int ActiveMembersInNetwork { get; set; }
+ public int InactiveMembersInNetwork { get; set; }
+
public DateTime CreatedAt { get; set; }
}
diff --git a/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj b/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj
index 92b9b02..b516b23 100644
--- a/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj
+++ b/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/BackOffice.BFF.WebApi/Common/Mappings/NetworkMembershipProfile.cs b/src/BackOffice.BFF.WebApi/Common/Mappings/NetworkMembershipProfile.cs
index 78b1f4d..b3dd8a8 100644
--- a/src/BackOffice.BFF.WebApi/Common/Mappings/NetworkMembershipProfile.cs
+++ b/src/BackOffice.BFF.WebApi/Common/Mappings/NetworkMembershipProfile.cs
@@ -49,16 +49,52 @@ public class NetworkMembershipProfile : IRegister
Id = src.Id,
UserId = src.UserId,
UserName = src.UserName,
+ Mobile = src.Mobile,
+ Email = src.Email,
+ NationalCode = src.NationalCode,
+ ReferralCode = src.ReferralCode,
+ IsMobileVerified = src.IsMobileVerified,
+ BirthDate = src.BirthDate.HasValue
+ ? Timestamp.FromDateTime(DateTime.SpecifyKind(src.BirthDate.Value, DateTimeKind.Utc))
+ : null,
+ JoinedAt = Timestamp.FromDateTime(DateTime.SpecifyKind(src.JoinedAt, DateTimeKind.Utc)),
ParentId = src.ParentId,
ParentName = src.ParentName,
+ ParentMobile = src.ParentMobile,
NetworkLeg = src.NetworkLeg,
+ NetworkLevel = src.NetworkLevel,
+ IsInNetwork = src.IsInNetwork,
LeftChildId = src.LeftChildId,
LeftChildName = src.LeftChildName,
+ LeftChildMobile = src.LeftChildMobile,
+ LeftChildJoinedAt = src.LeftChildJoinedAt.HasValue
+ ? Timestamp.FromDateTime(DateTime.SpecifyKind(src.LeftChildJoinedAt.Value, DateTimeKind.Utc))
+ : null,
RightChildId = src.RightChildId,
RightChildName = src.RightChildName,
- NetworkLevel = src.NetworkLevel,
- ReferralCode = src.ReferralCode,
- JoinedAt = Timestamp.FromDateTime(DateTime.SpecifyKind(src.JoinedAt, DateTimeKind.Utc)),
+ RightChildMobile = src.RightChildMobile,
+ RightChildJoinedAt = src.RightChildJoinedAt.HasValue
+ ? Timestamp.FromDateTime(DateTime.SpecifyKind(src.RightChildJoinedAt.Value, DateTimeKind.Utc))
+ : null,
+ TotalChildren = src.TotalChildren,
+ LeftChildCount = src.LeftChildCount,
+ RightChildCount = src.RightChildCount,
+ TotalLeftLegMembers = src.TotalLeftLegMembers,
+ TotalRightLegMembers = src.TotalRightLegMembers,
+ TotalNetworkSize = src.TotalNetworkSize,
+ MaxNetworkDepth = src.MaxNetworkDepth,
+ HasReceivedDayaCredit = src.HasReceivedDayaCredit,
+ DayaCreditReceivedAt = src.DayaCreditReceivedAt.HasValue
+ ? Timestamp.FromDateTime(DateTime.SpecifyKind(src.DayaCreditReceivedAt.Value, DateTimeKind.Utc))
+ : null,
+ PackagePurchaseMethod = src.PackagePurchaseMethod,
+ HasPurchasedGoldenPackage = src.HasPurchasedGoldenPackage,
+ TotalEarnedCommission = src.TotalEarnedCommission,
+ TotalPaidCommission = src.TotalPaidCommission,
+ PendingCommission = src.PendingCommission,
+ TotalBalancesEarned = src.TotalBalancesEarned,
+ ActiveMembersInNetwork = src.ActiveMembersInNetwork,
+ InactiveMembersInNetwork = src.InactiveMembersInNetwork,
Created = Timestamp.FromDateTime(DateTime.SpecifyKind(src.CreatedAt, DateTimeKind.Utc))
});
diff --git a/src/BackOffice.BFF.WebApi/appsettings.json b/src/BackOffice.BFF.WebApi/appsettings.json
index c821b3d..32337f1 100644
--- a/src/BackOffice.BFF.WebApi/appsettings.json
+++ b/src/BackOffice.BFF.WebApi/appsettings.json
@@ -11,8 +11,8 @@
},
"GrpcChannelOptions": {
"FMSMSAddress": "https://dl.afrino.co",
-// "CMSMSAddress": "http://cms-svc:80"
- "CMSMSAddress": "https://cms.foursat.afrino.co"
+ "CMSMSAddress": "http://cms-svc:80"
+// "CMSMSAddress": "https://cms.foursat.afrino.co"
// "CMSMSAddress": "https://localhost:32846"
},
"Authentication": {
diff --git a/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/BackOffice.BFF.NetworkMembership.Protobuf.csproj b/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/BackOffice.BFF.NetworkMembership.Protobuf.csproj
index 1953978..ab1ae87 100644
--- a/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/BackOffice.BFF.NetworkMembership.Protobuf.csproj
+++ b/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/BackOffice.BFF.NetworkMembership.Protobuf.csproj
@@ -6,7 +6,7 @@
enable
true
Foursat.BackOffice.BFF.NetworkMembership.Protobuf
- 0.0.6
+ 0.0.7
FourSat
FourSat
Foursat.BackOffice.BFF.NetworkMembership.Protobuf
diff --git a/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/Protos/networkmembership.proto b/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/Protos/networkmembership.proto
index 39ccec3..83fa05c 100644
--- a/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/Protos/networkmembership.proto
+++ b/src/Protobufs/BackOffice.BFF.NetworkMembership.Protobuf/Protos/networkmembership.proto
@@ -85,20 +85,68 @@ message GetUserNetworkRequest
message GetUserNetworkResponse
{
+ // اطلاعات اصلی کاربر
int64 id = 1;
int64 user_id = 2;
string user_name = 3;
- google.protobuf.Int64Value parent_id = 4;
- string parent_name = 5;
- int32 network_leg = 6; // NetworkLeg enum
- google.protobuf.Int64Value left_child_id = 7;
- string left_child_name = 8;
- google.protobuf.Int64Value right_child_id = 9;
- string right_child_name = 10;
- int32 network_level = 11;
- string referral_code = 12;
- google.protobuf.Timestamp joined_at = 13;
- google.protobuf.Timestamp created = 14;
+ string mobile = 4;
+ string email = 5;
+ string national_code = 6;
+ string referral_code = 7;
+ bool is_mobile_verified = 8;
+ google.protobuf.Timestamp birth_date = 9;
+ google.protobuf.Timestamp joined_at = 10;
+
+ // اطلاعات والد
+ google.protobuf.Int64Value parent_id = 11;
+ string parent_name = 12;
+ string parent_mobile = 13;
+
+ // موقعیت در شبکه
+ int32 network_leg = 14; // NetworkLeg enum
+ int32 network_level = 15;
+ bool is_in_network = 16;
+
+ // اطلاعات فرزند چپ
+ google.protobuf.Int64Value left_child_id = 17;
+ string left_child_name = 18;
+ string left_child_mobile = 19;
+ google.protobuf.Timestamp left_child_joined_at = 20;
+
+ // اطلاعات فرزند راست
+ google.protobuf.Int64Value right_child_id = 21;
+ string right_child_name = 22;
+ string right_child_mobile = 23;
+ google.protobuf.Timestamp right_child_joined_at = 24;
+
+ // آمار فرزندان مستقیم
+ int32 total_children = 25;
+ int32 left_child_count = 26;
+ int32 right_child_count = 27;
+
+ // آمار کل شبکه
+ int32 total_left_leg_members = 28;
+ int32 total_right_leg_members = 29;
+ int32 total_network_size = 30;
+ int32 max_network_depth = 31;
+
+ // اطلاعات پکیج و دایا
+ bool has_received_daya_credit = 32;
+ google.protobuf.Timestamp daya_credit_received_at = 33;
+ int32 package_purchase_method = 34;
+ bool has_purchased_golden_package = 35;
+
+ // آمار مالی
+ double total_earned_commission = 36;
+ double total_paid_commission = 37;
+ double pending_commission = 38;
+ int32 total_balances_earned = 39;
+
+ // آمار فعالیت
+ int32 active_members_in_network = 40;
+ int32 inactive_members_in_network = 41;
+
+ google.protobuf.Timestamp created = 42;
}
// GetNetworkTree Query