-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathActivityAskHandler.py
More file actions
81 lines (71 loc) · 3.48 KB
/
Copy pathActivityAskHandler.py
File metadata and controls
81 lines (71 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# -*- coding: utf-8 -*-
import json
from sqlalchemy.orm.exc import NoResultFound, MultipleResultsFound
__author__ ='lanwei'
from BaseHandlerh import BaseHandler
from Database.tables import Activity,ActivityParticipate,User
import json
from datetime import date, datetime
import ActivityFuction
class AskActivity(BaseHandler): #对活动的一系列请求
retjson = {'code': 200, 'content': 'none'}
retdata = [] # list array
def post(self):
type = self.get_argument('type', default='unsolved')
if type=='AskMyActivity':#1.请求我发布的所有活动
m_userID=self.get_argument('userID',default='unsolved')
try:
data=self.db.query(Activity).filter(Activity.sponsorID==m_userID).all()
for item in data:
ActivityFuction.response(item,self.retedata)
except:
self.retjson['code']=400
self.retdata='no result found'
elif type=='AskMyJoinActivity':#2.获得我参加的所有活动
userID=self.get_argument('userID',default='unsolved')
try:
activityparticipate=self.db.query(ActivityParticipate).filter(ActivityParticipate.activity_participateID==userID).all()#返回activityparticipate元组
for ID in activityparticipate:
item=self.db.query(Activity).filter(Activity.activityID==ID.activityID).one()
ActivityFuction.response(item, self.retedata)
except MultipleResultsFound:
self.retjson['code']=300
self.retjson['content']=u'系统出错'
except:
self.retjson['code']=400
retdata='no result found'
elif type=='AskOneActivity':#3.获得某一个活动或更新活动
activityID=self.get_argument('activityID',default='unsolved')
try:
data = self.db.query(Activity).filter(Activity.activityID == activityID).all()
for item in data:
ActivityFuction.response(item, self.retedata)
except:
self.retjson['code'] = 400
retdata = 'no result found'
elif type=='AskParticipates': #4.获得活动的所有报名者
m_activityID=self.get_argument('activityID',default='unsolved')
try:
registers=self.db.query(ActivityParticipate).filter(ActivityParticipate.activityID==m_activityID).all()
for user in registers:
response=user.userID
try:
item=self.db.query(User).filter(User.userID==response).one()
except:
self.retjson['code']=300
self.retjson['content']=u'系统出错'
ActivityFuction.response(item,self.retdata)
except:
self.retjson['code'] = 400
retdata = 'no result found'
elif type=='AskOpenActivity': #5.获得所有未关闭的活动
userID=self.get_arguments('userID',default='unsolved')
try:
data=self.db.query(Activity).filter(Activity.closed==False).all()
for item in data:
ActivityFuction.response(item, self.retdata)
except:
self.retjson['code'] = 400
retdata = 'no result found'
self.retjson['content']=retdata
self.write(json.dumps(self.retjson, ensure_ascii=False, indent=2))#返回中文