LIL-633 Корректно считать заработок преподавателя в его профиле

remotes/origin/hotfix/LIL-661
gzbender 7 years ago
parent fcb6a5032c
commit fba356dc9c
  1. 22
      apps/payment/management/commands/payment_fix_amounts.py
  2. 2
      apps/payment/views.py

@ -0,0 +1,22 @@
from decimal import Decimal
from django.core.management.base import BaseCommand
from django.db.models import F
from apps.payment.models import Payment, AuthorBalance
class Command(BaseCommand):
help = 'Fix payment and author balance amount based on payment.data.effective_price_amount'
def handle(self, *args, **options):
for payment in Payment.objects.exclude(data__effective_price_amount=''):
if payment.data.get('effective_price_amount'):
payment.amount = Decimal(payment.data.get('effective_price_amount'))
payment.save()
for ab in AuthorBalance.objects.exclude(payment__amount=F('amount')).select_related('payment'):
ab.amount = ab.payment.amount
ab.save()

@ -201,7 +201,7 @@ class PaymentwallCallbackView(View):
payment.status = pingback.get_type()
payment.data = payment_raw_data
if pingback.is_deliverable():
effective_amount = pingback.get_parameter('effective_price_amount')
effective_amount = payment_raw_data.get('effective_price_amount')
if effective_amount:
payment.amount = effective_amount

Loading…
Cancel
Save