feat: update stored procedure to use UserWalletHistories and include PackageId in balance checks
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m19s

This commit is contained in:
masoodafar-web
2026-05-04 01:28:04 +03:30
parent e4279f3d05
commit c4409491c1
@@ -68,19 +68,19 @@ BEGIN
UPDATE uw UPDATE uw
SET uw.NetworkBalance = uw.NetworkBalance - ISNULL( SET uw.NetworkBalance = uw.NetworkBalance - ISNULL(
(SELECT SUM(wl.ChangeNerworkValue) (SELECT SUM(wl.ChangeNerworkValue)
FROM CMS.UserWalletChangeLogs wl FROM CMS.UserWalletHistories wl
WHERE wl.WalletId = uw.Id WHERE wl.WalletId = uw.Id
AND wl.RefrenceId IN (SELECT Id FROM CMS.UserCommissionPayouts WHERE WeeklyPoolId = @PoolId) AND wl.RefrenceId IN (SELECT Id FROM CMS.UserCommissionPayouts WHERE WeeklyPoolId = @PoolId)
), 0) ), 0)
FROM CMS.UserWallets uw FROM CMS.UserWallets uw
WHERE uw.Id IN ( WHERE uw.Id IN (
SELECT DISTINCT wl.WalletId SELECT DISTINCT wl.WalletId
FROM CMS.UserWalletChangeLogs wl FROM CMS.UserWalletHistories wl
WHERE wl.RefrenceId IN (SELECT Id FROM CMS.UserCommissionPayouts WHERE WeeklyPoolId = @PoolId) 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); WHERE RefrenceId IN (SELECT Id FROM CMS.UserCommissionPayouts WHERE WeeklyPoolId = @PoolId);
-- حذف تاریخچه پرداخت -- حذف تاریخچه پرداخت
@@ -99,7 +99,7 @@ BEGIN
-- ============================================= -- =============================================
-- 4. بررسی وجود تعادل‌های هفتگی -- 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 BEGIN
-- بالانسی محاسبه نشده — pool را به عنوان "محاسبه شده بدون پرداخت" علامت می‌زنیم -- بالانسی محاسبه نشده — pool را به عنوان "محاسبه شده بدون پرداخت" علامت می‌زنیم
UPDATE CMS.WeeklyCommissionPools UPDATE CMS.WeeklyCommissionPools
@@ -115,7 +115,7 @@ BEGIN
-- ============================================= -- =============================================
SELECT @TotalBalances = SUM(TotalBalances) SELECT @TotalBalances = SUM(TotalBalances)
FROM CMS.NetworkWeeklyBalances 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 IF @TotalBalances IS NULL OR @TotalBalances = 0
BEGIN BEGIN
@@ -166,7 +166,7 @@ BEGIN
@CalculatedAt, @CalculatedAt,
'SP' 'SP'
FROM CMS.NetworkWeeklyBalances nb 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. ثبت تاریخچه پرداخت -- 8. ثبت تاریخچه پرداخت
@@ -219,7 +219,7 @@ BEGIN
WHERE cp.WeeklyPoolId = @PoolId; WHERE cp.WeeklyPoolId = @PoolId;
-- ثبت لاگ تغییرات کیف پول -- ثبت لاگ تغییرات کیف پول
INSERT INTO CMS.UserWalletChangeLogs ( INSERT INTO CMS.UserWalletHistories (
WalletId, WalletId,
CurrentBalance, CurrentBalance,
ChangeValue, ChangeValue,