fix rolback items
This commit is contained in:
@@ -4,6 +4,7 @@ from azbankgateways import (
|
||||
models as bank_models,
|
||||
default_settings as settings,
|
||||
)
|
||||
from azbankgateways.models.enum import PaymentStatus
|
||||
from .models import OrderModel
|
||||
from account.models import PushSubscription
|
||||
import ghasedak_sms
|
||||
@@ -30,6 +31,23 @@ def udpate_bank_status():
|
||||
elif bank_record.order:
|
||||
order = bank_record.order
|
||||
order.rollback_stock()
|
||||
|
||||
failed_statuses = [
|
||||
PaymentStatus.CANCEL_BY_USER,
|
||||
PaymentStatus.EXPIRE_GATEWAY_TOKEN,
|
||||
PaymentStatus.EXPIRE_VERIFY_PAYMENT,
|
||||
PaymentStatus.ERROR,
|
||||
]
|
||||
failed_records = bank_models.Bank.objects.filter(
|
||||
status__in=failed_statuses,
|
||||
order__isnull=False,
|
||||
order__is_paid=False,
|
||||
order__is_stock_rolled_back=False,
|
||||
).select_related('order')
|
||||
|
||||
for bank_record in failed_records:
|
||||
bank_record.order.rollback_stock()
|
||||
|
||||
return 'update bank record is done'
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user