8000 add the API add_guest(), fix some issues, see https://q.cnblogs.com/q… · python012/guest@0ee08b0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0ee08b0

Browse files
committed
add the API add_guest(), fix some issues, see https://q.cnblogs.com/q/100677/
1 parent 74f9d26 commit 0ee08b0

File tree

3 files changed

+56
-39
lines changed

3 files changed

+56
-39
lines changed

guest/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,5 @@
3030
url(r'^sign_index/(?P<eid>[0-9]+)/$', views.sign_index),
3131
url(r'^sign_index_action/(?P<eid>[0-9]+)/$', views.sign_index_action),
3232
url(r'^logout/$', views.logout),
33-
url(r'^api/$', include('sign.urls', namespace="sign")),
33+
url(r'^api/', include('sign.urls', namespace="sign")),
3434
]

sign/urls.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,9 @@
55
urlpatterns = [
66
#sign system interface:
77
#ex : /api/add_event/
8-
url(r'^index/$', views_if.add_event, name='add_event'),
9-
]
8+
ur 10000 l(r'^add_event/', views_if.add_event, name='add_event'),
9+
#ex : /api/add_guest/
10+
url(r'^add_guest/', views_if.add_guest, name='add_guest'),
11+
]
12+
13+
app_name = 'sign'

sign/views_if.py

Lines changed: 49 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
""".,./
2-
For event interface
3-
"""
4-
51
from django.http import JsonResponse
6-
from sign.models import Event
2+
from sign.models import Event, Guest
73
from django.core.exceptions import ValidationError
4+
from django.db.utils import IntegrityError
5+
import time
86

97

108
def add_event(request):
@@ -36,43 +34,58 @@ def add_event(request):
3634
limit=limit,
3735
address=address,
3836
start_time=start_time)
39-
except ValidationError as e:
37+
except ValidationError:
4038
error = 'start_time formate error, should be YYYY-MM-DD HH:MM:SS fromat.'
4139
return JsonResponse({'status': 10024, 'message': error})
4240

4341
return JsonResponse({'status': 200, 'message': 'add event success'})
4442

4543

46-
# def add_guest(request):
47-
# eid = request.POST.get('eid', '')
48-
# realname = request.POST.get('realname', '')
49-
# phone = request.POST.get('phone', '')
50-
# email = request.POST.get('email', '')
51-
# sign = request.POST.get('sign', '')
52-
53-
# if eid == '' or realname == '' or phone == '':
54-
# return JsonResponse({'status': 10021, 'message': 'parameter error'})
55-
56-
# result = Event.objects.filter(id=eid)
57-
# if result:
58-
# return JsonResponse({'status': 10022, 'message':'event id already exists'})
59-
60-
# result = Event.objects.filter(name=name)
61-
# if result:
62-
# return JsonResponse({'status': 10023, 'message':'event name already exists'})
44+
def add_guest(request):
45+
eid = request.POST.get('eid', '')
46+
realname = request.POST.get('realname', '')
47+
phone = request.POST.get('phone', '')
48+
email = request.POST.get('email', '')
49+
# sign = request.POST.get('sign', '')
6350

64-
# if status == '':
65-
# status = 1
51+
if eid == '' or realname == '' or phone == '':
52+
return JsonResponse({'status': 10021, 'message': 'parameter error'})
6653

67-
# try:
68-
# Event.objects.create(id=eid,
69-
# name=name,
70-
# status=int(status),
71-
# limit=limit,
72-
# address=address,
73-
# start_time=start_time)
74-
# except ValidationError as e:
75-
# error = 'start_time formate error, should be YYYY-MM-DD HH:MM:SS fromat.'
76-
# return JsonResponse({'status': 10024, 'message': error})
54+
result = Event.objects.filter(id=eid)
55+
if not result:
56+
return JsonResponse({'status': 10022, 'message':'event id is invalid'})
57+
58+
result = Event.objects.filter(name=eid).status
59+
60+
if not result:
61+
return JsonResponse({'status': 10023, 'message':'event status is not available'})
62+
63+
event_limit = Event.objects.get(id=eid).limit
64+
guest_limit = len(Guest.objects.filter(event_id=eid))
65+
66+
if guest_limit >= event_limit:
67+
return JsonResponse({'status': 10024, 'message':'event number is full'})
68+
69+
event_time = Event.objects.get(id=eid).start_time
70+
71+
etime = str(event_time).split(".")[0]
72+
timeArray = time.strptime(etime, "%Y-%m-%d %H:%M:%S")
73+
e_time = int(time.mktime(timeArray))
74+
75+
now_time = str(time.time())
76+
ntime = now_time.split(".")[0]
77+
n_time = int(ntime)
78+
79+
if n_time >= e_time:
80+
return JsonResponse({'status': 10025, 'message':'event is out of date'})
81+
82+
try:
83+
Guest.objects.create(event_id=eid,
84+
realname=realname,
85+
phone=int(phone),
86+
email=email,
87+
sign=False)
88+
except IntegrityError:
89+
return JsonResponse({'status': 10026, 'message': 'the event guest phone number repeat'})
7790

78-
# return JsonResponse({'status': 200, 'message': 'add event success'})
91+
return JsonResponse({'status': 200, 'message': 'add event success'})

0 commit comments

Comments
 (0)
0