1.1.0 autosubscribe to null price subscribe

This commit is contained in:
SDE
2024-05-29 07:53:32 +03:00
parent 5a893faa43
commit efec0754cd
2 changed files with 52 additions and 5 deletions

View File

@@ -13,12 +13,15 @@ from django.contrib.auth.models import User
from django.views.decorators.csrf import csrf_exempt
from webpush import send_user_notification
import json
from datetime import datetime, timedelta
def test_code(request):
from RoutesApp.funcs import get_city_by_type_transport_and_address_point
from RoutesApp.models import Route
from ReferenceDataApp.models import Airport, City
res = None
# import allauth
# from allauth.socialaccount.models import SocialApp
# apps = SocialApp.objects.all()
@@ -27,8 +30,24 @@ def test_code(request):
# from PushMessages.views import send_push
# send_push(request.user, 'test_title', 'test_content')
from BaseModels.pay_systems.DVL_Group_kaz.api.funcs import create_order
create_order()
# from BaseModels.pay_systems.DVL_Group_kaz.api.funcs import create_order
# create_order()
# from AuthApp.models import User
# from SubscribesApp.models import SubscribeForUser, Subscribe
# subscribes_null_price = Subscribe.objects.filter(price=0)
# if not subscribes_null_price:
# res = 'Subscribe not found'
# else:
# subscribe = subscribes_null_price[0]
# users_wo_subscribe = User.objects.filter(rel_userSubscribes_for_user=None)
# for user in users_wo_subscribe:
# u_sub = SubscribeForUser.objects.create(
# user=user,
# subscribe=subscribe,
# paid_period_from_DT=datetime.now(),
# paid_period_to_DT=datetime.now() + timedelta(hours=subscribe.period)
# )
# from RoutesApp.search_matches import search_matches
# search_matches()
@@ -62,6 +81,11 @@ def test_code(request):
#
# if required_save:
# route.save()
if res:
if type(res) == str:
return HttpResponse(res)
else:
return res
return HttpResponse('finished')

View File

@@ -4,14 +4,37 @@ from django.utils.translation import get_language, activate
from datetime import datetime, timedelta
import json
def get_null_price_subscribe():
subscribes_null_price = Subscribe.objects.filter(
enable=True,
price=0
)
if subscribes_null_price:
return subscribes_null_price[0]
return None
def subscribe_user_to_null_price_subscribe(user):
subscribe = get_null_price_subscribe()
if not subscribe:
return None
subscribe_for_user = SubscribeForUser.objects.create(
user=user,
subscribe=subscribe,
paid_period_from_DT=datetime.now(),
paid_period_to_DT=datetime.now() + timedelta(hours=subscribe.period)
)
return subscribe_for_user
def get_cur_user_subscribe(user):
user_subscribe = None
try:
user_subscribe = SubscribeForUser.objects.get(enable=True, user=user)
except Exception as e:
pass
except SubscribeForUser.DoesNotExist:
user_subscribe = subscribe_user_to_null_price_subscribe(user)
return user_subscribe