|
@@ -9,6 +9,7 @@
|
|
# @Software: PyCharm
|
|
# @Software: PyCharm
|
|
import time
|
|
import time
|
|
import json
|
|
import json
|
|
|
|
+from django.db.models import Count
|
|
from django.utils.decorators import method_decorator
|
|
from django.utils.decorators import method_decorator
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.views.generic.base import View
|
|
from django.views.generic.base import View
|
|
@@ -285,6 +286,12 @@ class SurveysView(View):
|
|
def cloud_surveys_answer_page(self, request_dict, response):
|
|
def cloud_surveys_answer_page(self, request_dict, response):
|
|
pageNo = request_dict.get('pageNo', None)
|
|
pageNo = request_dict.get('pageNo', None)
|
|
pageSize = request_dict.get('pageSize', None)
|
|
pageSize = request_dict.get('pageSize', None)
|
|
|
|
+ userName = request_dict.get('userName', None)
|
|
|
|
+ countryName = request_dict.get('countryName', None)
|
|
|
|
+ timeRange = request_dict.getlist('timeRange[]', None)
|
|
|
|
+ num = request_dict.get('num', 0)
|
|
|
|
+ num = int(num)
|
|
|
|
+ optVal = request_dict.getlist('optVal', None)
|
|
if not all([pageNo, pageSize]):
|
|
if not all([pageNo, pageSize]):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
|
|
@@ -292,8 +299,33 @@ class SurveysView(View):
|
|
line = int(pageSize)
|
|
line = int(pageSize)
|
|
try:
|
|
try:
|
|
request_qs = CloudVodSurveysAnswer.objects.all()
|
|
request_qs = CloudVodSurveysAnswer.objects.all()
|
|
|
|
+ if userName:
|
|
|
|
+ request_qs = request_qs.filter(user__username__contains=userName)
|
|
|
|
+ if countryName:
|
|
|
|
+ request_qs = request_qs.filter(country_name=countryName)
|
|
|
|
+ if num >= 0 and len(optVal) > 0:
|
|
|
|
+ condition = int(optVal[0])
|
|
|
|
+ if condition == 1:
|
|
|
|
+ request_qs = request_qs.filter(answer1__gt=num)
|
|
|
|
+ elif condition == 2:
|
|
|
|
+ request_qs = request_qs.filter(answer1__lt=num)
|
|
|
|
+ elif condition == 3:
|
|
|
|
+ request_qs = request_qs.filter(answer1=num)
|
|
|
|
+ elif condition == 4:
|
|
|
|
+ request_qs = request_qs.filter(answer1__gte=num)
|
|
|
|
+ elif condition == 5:
|
|
|
|
+ request_qs = request_qs.filter(answer1__lte=num)
|
|
|
|
+
|
|
|
|
+ if timeRange:
|
|
|
|
+ startTime, endTime = int(
|
|
|
|
+ timeRange[0][:-3]), int(timeRange[1][:-3])
|
|
|
|
+ request_qs = request_qs.filter(
|
|
|
|
+ created_time__gte=startTime,
|
|
|
|
+ created_time__lte=endTime)
|
|
|
|
+ if not request_qs.exists():
|
|
|
|
+ return response.json(0, [])
|
|
total = request_qs.count()
|
|
total = request_qs.count()
|
|
- answer_page = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
|
|
|
|
|
|
+ answer_page = request_qs.order_by('-created_time')[(page - 1) * line:page * line]
|
|
result_list = []
|
|
result_list = []
|
|
for answer in answer_page:
|
|
for answer in answer_page:
|
|
d_user = Device_User.objects.filter(userID=answer.user_id)
|
|
d_user = Device_User.objects.filter(userID=answer.user_id)
|