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
|
|
|
|
|
2016-06-26 11:57:55 +03:00
|
|
|
|
def increase(self, user_id, amount):
|
2016-04-03 19:10:18 +03:00
|
|
|
|
"""
|
|
|
|
|
Обновление баланса
|
|
|
|
|
"""
|
2016-06-26 11:57:55 +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
|