From c4409491c16eb22e89983b25c91f61af4421b256 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Mon, 4 May 2026 01:28:04 +0330 Subject: [PATCH] feat: update stored procedure to use UserWalletHistories and include PackageId in balance checks --- .../sp_CalculateWeeklyCommissionPool.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_CalculateWeeklyCommissionPool.sql b/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_CalculateWeeklyCommissionPool.sql index c54a3bf..69faddb 100644 --- a/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_CalculateWeeklyCommissionPool.sql +++ b/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_CalculateWeeklyCommissionPool.sql @@ -68,19 +68,19 @@ BEGIN UPDATE uw SET uw.NetworkBalance = uw.NetworkBalance - ISNULL( (SELECT SUM(wl.ChangeNerworkValue) - FROM CMS.UserWalletChangeLogs wl + FROM CMS.UserWalletHistories wl WHERE wl.WalletId = uw.Id AND wl.RefrenceId IN (SELECT Id FROM CMS.UserCommissionPayouts WHERE WeeklyPoolId = @PoolId) ), 0) FROM CMS.UserWallets uw WHERE uw.Id IN ( SELECT DISTINCT wl.WalletId - FROM CMS.UserWalletChangeLogs wl + FROM CMS.UserWalletHistories wl WHERE wl.RefrenceId IN (SELECT Id FROM CMS.UserCommissionPayouts WHERE WeeklyPoolId = @PoolId) ); -- حذف لاگ‌های تغییرات قبلی - DELETE FROM CMS.UserWalletChangeLogs + DELETE FROM CMS.UserWalletHistories WHERE RefrenceId IN (SELECT Id FROM CMS.UserCommissionPayouts WHERE WeeklyPoolId = @PoolId); -- حذف تاریخچه پرداخت @@ -99,7 +99,7 @@ BEGIN -- ============================================= -- 4. بررسی وجود تعادل‌های هفتگی -- ============================================= - IF NOT EXISTS (SELECT 1 FROM CMS.NetworkWeeklyBalances WHERE WeekDefinitionId = @WeekDefinitionId) + IF NOT EXISTS (SELECT 1 FROM CMS.NetworkWeeklyBalances WHERE WeekDefinitionId = @WeekDefinitionId AND PackageId = @PackageId) BEGIN -- بالانسی محاسبه نشده — pool را به عنوان "محاسبه شده بدون پرداخت" علامت می‌زنیم UPDATE CMS.WeeklyCommissionPools @@ -115,7 +115,7 @@ BEGIN -- ============================================= SELECT @TotalBalances = SUM(TotalBalances) FROM CMS.NetworkWeeklyBalances - WHERE WeekDefinitionId = @WeekDefinitionId AND TotalBalances > 0; + WHERE WeekDefinitionId = @WeekDefinitionId AND PackageId = @PackageId AND TotalBalances > 0; IF @TotalBalances IS NULL OR @TotalBalances = 0 BEGIN @@ -166,7 +166,7 @@ BEGIN @CalculatedAt, 'SP' FROM CMS.NetworkWeeklyBalances nb - WHERE nb.WeekDefinitionId = @WeekDefinitionId AND nb.TotalBalances > 0; + WHERE nb.WeekDefinitionId = @WeekDefinitionId AND nb.PackageId = @PackageId AND nb.TotalBalances > 0; -- ============================================= -- 8. ثبت تاریخچه پرداخت @@ -219,7 +219,7 @@ BEGIN WHERE cp.WeeklyPoolId = @PoolId; -- ثبت لاگ تغییرات کیف پول - INSERT INTO CMS.UserWalletChangeLogs ( + INSERT INTO CMS.UserWalletHistories ( WalletId, CurrentBalance, ChangeValue,