forked from uncloud/uncloud
24 lines
782 B
Python
24 lines
782 B
Python
|
from django.core.management.base import BaseCommand
|
||
|
from uncloud_auth.models import User
|
||
|
from uncloud_pay.models import Order, Bill
|
||
|
from uncloud_pay.helpers import get_balance_for
|
||
|
|
||
|
from datetime import timedelta
|
||
|
from django.utils import timezone
|
||
|
|
||
|
class Command(BaseCommand):
|
||
|
help = 'Generate bills and charge customers if necessary.'
|
||
|
|
||
|
def add_arguments(self, parser):
|
||
|
pass
|
||
|
|
||
|
def handle(self, *args, **options):
|
||
|
users = User.objects.all()
|
||
|
print("Processing {} users.".format(users.count()))
|
||
|
for user in users:
|
||
|
balance = get_balance_for(user)
|
||
|
if balance < 0:
|
||
|
print("User {} has negative balance ({}), charging.".format(user.username, balance))
|
||
|
# TODO: charge
|
||
|
print("=> Done.")
|