console/SWSCloudCore/controllers/billing/__init__.py

66 lines
2 KiB
Python
Raw Permalink Normal View History

2015-12-01 02:43:10 +03:00
# coding: utf-8
2016-04-02 00:42:22 +03:00
from SWSCloudCore import models
2015-12-01 02:43:10 +03:00
class ControllerBilling:
2016-04-03 19:10:18 +03:00
"""
Класс работы с деньгами
"""
2015-12-12 17:29:45 +03:00
def get(self, user_id):
2016-04-03 19:10:18 +03:00
"""
Выбираем состояние баланса выбранного пользователя
"""
x = models.UsersBalance.select(
2015-12-01 02:43:10 +03:00
models.UsersBalance.balance
).where(
models.UsersBalance.user == user_id
2016-04-03 19:10:18 +03:00
).get()
return x.balance
2015-12-01 02:43:10 +03:00
def increase(self, user_id, amount):
2016-04-03 19:10:18 +03:00
"""
Обновление баланса
"""
balance = models.UsersBalance.get(models.UsersBalance.user == user_id)
balance.balance += float(amount)
balance.save()
return True
def reduce(self, user_id, amount):
"""
Обновление баланса
"""
balance = models.UsersBalance.get(models.UsersBalance.user == user_id)
balance.balance -= float(amount)
balance.save()
return True
2015-12-01 02:43:10 +03:00
2015-12-12 17:29:45 +03:00
def exists(self, user_id):
2016-04-03 19:10:18 +03:00
"""
Проверяет наличие записи в таблице балансов
"""
cnt = models.UsersBalance.select().where(
models.UsersBalance.user == user_id
).count()
if cnt == 0:
2015-12-01 02:43:10 +03:00
return False
return True
2015-12-12 17:29:45 +03:00
def create(self, user_id, balance=0):
2016-04-03 19:10:18 +03:00
"""
Создание записи в таблице
"""
2015-12-01 02:43:10 +03:00
models.UsersBalance.create(user=user_id, balance=balance)
return True
2016-04-03 19:10:18 +03:00
def transactions_get(self, user_id):
transactions = dict()
transactions['total'] = models.UsersBalanceTransactions.select().where(
models.UsersBalanceTransactions.user == user_id
).count()
transactions['items'] = models.UsersBalanceTransactions.select().where(
models.UsersBalanceTransactions.user == user_id
2016-10-17 03:35:52 +03:00
).order_by(models.UsersBalanceTransactions.created.desc())
2016-04-03 19:10:18 +03:00
return transactions