1.0.12 subscribe buy routines

This commit is contained in:
SDE
2024-05-10 15:34:56 +03:00
parent 563a4fde3c
commit 3575391d3f
6 changed files with 71 additions and 38 deletions

View File

@@ -37,8 +37,15 @@ def get_orders_for_user(user):
enable=True,
user=user,
subscribe_for_user=None,
# createDT__gt=datetime.now() - timedelta(hours=1)
createDT__gt=datetime.now() - timedelta(hours=1)
).order_by('subscribe', '-createDT').distinct('subscribe')
SubscribeOrder.objects.filter(
user=user
).exclude(
id__in=orders.values_list('id', flat=True)
).update(enable=False)
return orders

View File

@@ -39,6 +39,32 @@ class SubscribeOrder(BaseModel):
verbose_name = _('Заказ на подписку')
verbose_name_plural = _('Заказы на подписки')
def activate_subscribe_for_user(self):
from datetime import datetime, timedelta
kwargs = {
'user': self.user,
'subscribe': self.subscribe,
'last_paid_DT': datetime.now(),
'paid_period_from_DT': datetime.now(),
'paid_period_to_DT': datetime.now() + timedelta(hours=self.subscribe.period),
'receive_finish_subscribe_msg': True,
'enable': True,
}
subscribe_for_user = SubscribeForUser.objects.create(**kwargs)
self.subscribe_for_user = subscribe_for_user
self.enable = False
self.save()
subscribes_for_user = SubscribeForUser.objects.filter(
user=self.user
).exclude(
id=subscribe_for_user.id
)
subscribes_for_user.update(enable=False)
return self
def __str__(self):
res = 'Заказ'
if self.subscribe: