|
@@ -1,318 +1,318 @@
|
|
|
-# #!/usr/bin/python3.6
|
|
|
-# # -*- coding: utf-8 -*-
|
|
|
-# #
|
|
|
-# # Copyright (C) 2022 #
|
|
|
-# # @Time : 2022/3/9 9:20
|
|
|
-# # @Author : ming
|
|
|
-# # @Email : zhangdongming@asj6.wecom.work
|
|
|
-# # @File : SurveysController.py
|
|
|
-# # @Software: PyCharm
|
|
|
-# import time
|
|
|
-# import json
|
|
|
-# from django.utils.decorators import method_decorator
|
|
|
-# from django.views.decorators.csrf import csrf_exempt
|
|
|
-# from django.views.generic.base import View
|
|
|
-# from Object.TokenObject import TokenObject
|
|
|
-# from Object.ResponseObject import ResponseObject
|
|
|
-# from Model.models import Surveys, SurveysTitle, Order_Model, CloudVodSurveysAnswer, Device_User, SurveysUserLog
|
|
|
-# from Service.CommonService import CommonService
|
|
|
-# import logging
|
|
|
+#!/usr/bin/python3.6
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
#
|
|
|
-#
|
|
|
-# class SurveysView(View):
|
|
|
-# @method_decorator(csrf_exempt)
|
|
|
-# def dispatch(self, *args, **kwargs):
|
|
|
-# return super(SurveysView, self).dispatch(*args, **kwargs)
|
|
|
-#
|
|
|
-# def get(self, request, *args, **kwargs):
|
|
|
-# request.encoding = 'utf-8'
|
|
|
-# operation = kwargs.get('operation')
|
|
|
-# return self.validation(request.GET, request, operation)
|
|
|
-#
|
|
|
-# def post(self, request, *args, **kwargs):
|
|
|
-# request.encoding = 'utf-8'
|
|
|
-# operation = kwargs.get('operation')
|
|
|
-# return self.validation(request.POST, request, operation)
|
|
|
-#
|
|
|
-# def validation(self, request_dict, request, operation):
|
|
|
-# logger = logging.getLogger('info')
|
|
|
-# token = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
|
|
|
-# response = ResponseObject()
|
|
|
-# if token.code != 0:
|
|
|
-# return response.json(token.code)
|
|
|
-# userID = token.userID
|
|
|
-#
|
|
|
-# ''' API '''
|
|
|
-# logger.info('---- this user id:{},dict{}'.format(userID, request_dict))
|
|
|
-# if operation == 'get/info':
|
|
|
-# return self.check_stock_user(userID, request_dict, response)
|
|
|
-# if operation == 'cloud/answer/save':
|
|
|
-# ip = CommonService.get_ip_address(request)
|
|
|
-# return self.answer_save(userID, ip, request_dict, response)
|
|
|
-#
|
|
|
-# ''' 后台管理'''
|
|
|
-# response = ResponseObject(returntype='pc')
|
|
|
-# if operation == 'save':
|
|
|
-# return self.save(request_dict, response)
|
|
|
-# if operation == 'edit':
|
|
|
-# return self.edit(request_dict, response)
|
|
|
-# if operation == 'list':
|
|
|
-# return self.get_page(request_dict, response)
|
|
|
-# if operation == 'title/list':
|
|
|
-# return self.get_title_list(request_dict, response)
|
|
|
-# if operation == 'title/save':
|
|
|
-# return self.title_save(request_dict, response)
|
|
|
-# if operation == 'title/edit':
|
|
|
-# return self.title_edit(request_dict, response)
|
|
|
-# if operation == 'title/del':
|
|
|
-# return self.title_del(request_dict, response)
|
|
|
-# if operation == 'cloud/vod/answer/page':
|
|
|
-# return self.cloud_surveys_answer_page(request_dict, response)
|
|
|
-# return response.json(0)
|
|
|
-#
|
|
|
-# def check_stock_user(self, user_id, request_dict, response):
|
|
|
-# order = Order_Model.objects.filter(userID=user_id, status=1, order_type=0)
|
|
|
-# if order.count() == 0:
|
|
|
-# return response.json(10030)
|
|
|
-# try:
|
|
|
-# no = '01'
|
|
|
-# surveys = Surveys.objects.filter(no=no, user_type=1)
|
|
|
-# if not all(surveys):
|
|
|
-# return response.json(173)
|
|
|
-# result = surveys[0]
|
|
|
-# surveys_title = SurveysTitle.objects.filter(surveys_id=result.id).order_by('-created_time')
|
|
|
-#
|
|
|
-# submit = 0
|
|
|
-# if surveys_title.exists():
|
|
|
-# surveys_title = surveys_title[0]
|
|
|
-# cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=surveys_title.id, user_id=user_id)
|
|
|
-# if cloud_vod.exists():
|
|
|
-# submit = 1
|
|
|
-# data = {
|
|
|
-# 'no': result.no,
|
|
|
-# 'title': 'Zosi Cloud Storage',
|
|
|
-# 'imageUrl': 'https://d2cjxvw3tr9apc.cloudfront.net/app/images/ansjer-cloud-surveys.png',
|
|
|
-# 'userType': result.user_type,
|
|
|
-# 'startTime': result.start_time,
|
|
|
-# 'endTime': result.end_time,
|
|
|
-# 'isShow': result.is_show,
|
|
|
-# 'isSubmit': submit,
|
|
|
-# 'page': '/surveys?token=' if result.is_show == 1 else ''
|
|
|
-# }
|
|
|
-# status = True if submit == 1 else False
|
|
|
-# self.surveys_user_log_save(status, user_id)
|
|
|
-# return response.json(0, data)
|
|
|
-# except Exception as e:
|
|
|
-# print(e)
|
|
|
-# return response.json(500, repr(e))
|
|
|
-#
|
|
|
-# def surveys_user_log_save(self, status=False, userId='', survey_type=1):
|
|
|
-# if userId:
|
|
|
-# user_log = SurveysUserLog.objects.filter(user_id=userId, type=survey_type)
|
|
|
-# if user_log.exists():
|
|
|
-# if status and user_log[0].is_filled == 0:
|
|
|
-# user_log.update(is_filled=1)
|
|
|
-# else:
|
|
|
-# createdTime = int(time.time())
|
|
|
-# user_log = SurveysUserLog(user_id=userId, type=1, created_time=createdTime)
|
|
|
-# user_log.save()
|
|
|
-#
|
|
|
-# def answer_save(self, userId, ip, request_dict, response):
|
|
|
-# try:
|
|
|
-# ipInfo = CommonService.getIpIpInfo(ip, "CN")
|
|
|
-# country_name = ipInfo['country_name']
|
|
|
-# no = request_dict.get('no', None)
|
|
|
-# if not no:
|
|
|
-# return response.json(10, 'no is null')
|
|
|
-# survey = Surveys.objects.filter(no=no)
|
|
|
-# if survey.exists():
|
|
|
-# survey = survey[0]
|
|
|
-# survey_title = SurveysTitle.objects.filter(surveys=survey.id)
|
|
|
-# if survey_title.exists():
|
|
|
-# survey_title = survey_title[0]
|
|
|
-# cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=survey_title.id, user_id=userId)
|
|
|
-# if cloud_vod.exists():
|
|
|
-# return response.json(10, "Do not submit twice")
|
|
|
-# score = request_dict.get('score', None)
|
|
|
-# topicA = request_dict.get('topicA', None)
|
|
|
-# topicB = request_dict.get('topicB', None)
|
|
|
-# topicC = request_dict.get('topicC', None)
|
|
|
-# topicD = request_dict.get('topicD', None)
|
|
|
-# topicF = request_dict.get('topicF', None)
|
|
|
-# createdTime = int(time.time())
|
|
|
-# answer = CloudVodSurveysAnswer(title_id=survey_title.id, user_id=userId, ip=ip, answer1=int(score),
|
|
|
-# answer2=topicA,
|
|
|
-# answer3=topicB, answer4=topicC, answer5=topicD, answer6=topicF,
|
|
|
-# created_time=createdTime, country_name=country_name)
|
|
|
-# answer.save()
|
|
|
-# SurveysUserLog.objects.filter(user_id=userId, type=1).update(is_filled=1)
|
|
|
-# return response.json(0)
|
|
|
-# except Exception as e:
|
|
|
-# print(e)
|
|
|
-# return response.json(500, repr(e))
|
|
|
-#
|
|
|
-# def get_page(self, request_dict, response):
|
|
|
-# pageNo = request_dict.get('pageNo', None)
|
|
|
-# pageSize = request_dict.get('pageSize', None)
|
|
|
-# if not all([pageNo, pageSize]):
|
|
|
-# return response.json(444)
|
|
|
-#
|
|
|
-# page = int(pageNo)
|
|
|
-# line = int(pageSize)
|
|
|
-# try:
|
|
|
-# request_qs = Surveys.objects.all()
|
|
|
-# total = request_qs.count()
|
|
|
-# surveys_list = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
|
|
|
-# result_list = []
|
|
|
-# for surveys in surveys_list:
|
|
|
-# start_time = time.localtime(surveys.start_time)
|
|
|
-# endT_time = time.localtime(surveys.end_time)
|
|
|
-# created_time = time.localtime(surveys.created_time)
|
|
|
-# result_list.append({
|
|
|
-# 'id': surveys.id,
|
|
|
-# 'no': surveys.no,
|
|
|
-# 'userType': surveys.user_type,
|
|
|
-# 'startTime': time.strftime("%Y-%m-%d %H:%M:%S", start_time),
|
|
|
-# 'endTime': time.strftime("%Y-%m-%d %H:%M:%S", endT_time),
|
|
|
-# 'isShow': surveys.is_show,
|
|
|
-# 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
|
|
|
-# })
|
|
|
-# return response.json(0, {'list': result_list, 'total': total})
|
|
|
-# except Exception as e:
|
|
|
-# print(e)
|
|
|
-# return response.json(500, repr(e))
|
|
|
-#
|
|
|
-# def save(self, request_dict, response):
|
|
|
-# no = request_dict.get('no', None)
|
|
|
-# if no:
|
|
|
-# if Surveys.objects.filter(no=no).exists():
|
|
|
-# return response.json(10, '已存在')
|
|
|
-# no = request_dict.get('no', None)
|
|
|
-# userType = request_dict.get('userType', None)
|
|
|
-# startTime = request_dict.get('dateTime[0]', None)
|
|
|
-# endTime = request_dict.get('dateTime[1]', None)
|
|
|
-# isShow = request_dict.get('isShow', None)
|
|
|
-# isShow = 1 if isShow == 'true' else 0
|
|
|
-# createdTime = int(time.time())
|
|
|
-# try:
|
|
|
-# surveys = Surveys(no=no, user_type=userType, start_time=int(startTime),
|
|
|
-# end_time=endTime, is_show=isShow, created_time=int(createdTime))
|
|
|
-# surveys.save()
|
|
|
-# return response.json(0)
|
|
|
-# except Exception as e:
|
|
|
-# print(e)
|
|
|
-# return response.json(500, repr(e))
|
|
|
-# return response.json(0)
|
|
|
-#
|
|
|
-# def edit(self, request_dict, response):
|
|
|
-# sur_id = request_dict.get('id', None)
|
|
|
-# if not sur_id:
|
|
|
-# return response.json(10, 'id不存在')
|
|
|
-#
|
|
|
-# userType = request_dict.get('userType', None)
|
|
|
-# startTime = request_dict.get('dateTime[0]', None)
|
|
|
-# endTime = request_dict.get('dateTime[1]', None)
|
|
|
-# isShow = request_dict.get('isShow', None)
|
|
|
-# isShow = 1 if isShow == 'true' else 0
|
|
|
-# print(endTime)
|
|
|
-# Surveys.objects.filter(id=int(sur_id)).update(user_type=int(userType), start_time=int(startTime),
|
|
|
-# end_time=int(endTime),
|
|
|
-# is_show=int(isShow))
|
|
|
-# return response.json(0)
|
|
|
-#
|
|
|
-# def delete(self, request_dict, response):
|
|
|
-# sId = request_dict.get('id', None)
|
|
|
-# if not sId:
|
|
|
-# return response.json(10, 'id不存在')
|
|
|
-# Surveys.objects.filter(id=sId).delete()
|
|
|
-# response.json(0)
|
|
|
-#
|
|
|
-# def title_save(self, request_dict, response):
|
|
|
-# surveyId = request_dict.get('surveyId', None)
|
|
|
-# if not surveyId:
|
|
|
-# return response(10, 'surveyId is null')
|
|
|
-# t_id = request_dict.get('id', None)
|
|
|
-# content = request_dict.get('content', None)
|
|
|
-# createdTime = int(time.time())
|
|
|
-# try:
|
|
|
-# title = SurveysTitle.objects.filter(id=t_id)
|
|
|
-# if title.exists():
|
|
|
-# title.update(title_content=content)
|
|
|
-# else:
|
|
|
-# surveys_title = SurveysTitle(surveys_id=surveyId, title_content=content
|
|
|
-# , created_time=createdTime)
|
|
|
-# surveys_title.save()
|
|
|
-# return response.json(0)
|
|
|
-# except Exception as e:
|
|
|
-# print(e)
|
|
|
-# return response.json(500, repr(e))
|
|
|
-#
|
|
|
-# def get_title_list(self, request_dict, response):
|
|
|
-# surveyId = request_dict.get('surveyId', None)
|
|
|
-# info = request_dict.get('info', None)
|
|
|
-# if not surveyId:
|
|
|
-# return response.json(10, '问卷id不存在')
|
|
|
-# title_list = SurveysTitle.objects.filter(surveys_id=surveyId).order_by('-created_time')
|
|
|
-# if not title_list.exists():
|
|
|
-# if info:
|
|
|
-# return response.json(0, {'id': None, 'content': None})
|
|
|
-# return response.json(173)
|
|
|
-# content = title_list[0]
|
|
|
-# if info:
|
|
|
-# return response.json(0, {'id': content.id, 'content': content.title_content})
|
|
|
-# data = json.loads(content.title_content)
|
|
|
-# return response.json(0, {'answers': data})
|
|
|
-#
|
|
|
-# def title_edit(self, request_dict, response):
|
|
|
-# title_id = request_dict.get('id', None)
|
|
|
-# if not title_id:
|
|
|
-# return response.json(10, 'id不存在')
|
|
|
-# content = request_dict.get('content', None)
|
|
|
-# surveys_title = SurveysTitle.objects.filter(surveys_id=title_id)
|
|
|
-# surveys_title.update(title_content=content)
|
|
|
-# return response.json(0)
|
|
|
-#
|
|
|
-# def title_del(self, request_dict, response):
|
|
|
-# title_id = request_dict.get('id', None)
|
|
|
-# if not title_id:
|
|
|
-# return response.json(10, 'id不存在')
|
|
|
-# SurveysTitle.objects.filter(id=title_id).delete()
|
|
|
-# return response.json(0)
|
|
|
-#
|
|
|
-# def cloud_surveys_answer_page(self, request_dict, response):
|
|
|
-# pageNo = request_dict.get('pageNo', None)
|
|
|
-# pageSize = request_dict.get('pageSize', None)
|
|
|
-# if not all([pageNo, pageSize]):
|
|
|
-# return response.json(444)
|
|
|
-#
|
|
|
-# page = int(pageNo)
|
|
|
-# line = int(pageSize)
|
|
|
-# try:
|
|
|
-# request_qs = CloudVodSurveysAnswer.objects.all()
|
|
|
-# total = request_qs.count()
|
|
|
-# answer_page = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
|
|
|
-# result_list = []
|
|
|
-# for answer in answer_page:
|
|
|
-# d_user = Device_User.objects.filter(userID=answer.user_id)
|
|
|
-# if not all(d_user):
|
|
|
-# return response.json(173)
|
|
|
-# d_user = d_user[0]
|
|
|
-# created_time = time.localtime(answer.created_time)
|
|
|
-# result_list.append({
|
|
|
-# 'id': answer.id,
|
|
|
-# 'uId': d_user.userID,
|
|
|
-# 'uName': d_user.username,
|
|
|
-# 'nickName': d_user.NickName,
|
|
|
-# 'answer1': answer.answer1,
|
|
|
-# 'answer2': answer.answer2,
|
|
|
-# 'answer3': answer.answer3,
|
|
|
-# 'answer4': answer.answer4,
|
|
|
-# 'answer5': answer.answer5,
|
|
|
-# 'answer6': answer.answer6,
|
|
|
-# 'country': answer.country_name,
|
|
|
-# 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
|
|
|
-# })
|
|
|
-# return response.json(0, {'list': result_list, 'total': total})
|
|
|
-# except Exception as e:
|
|
|
-# print(e)
|
|
|
-# return response.json(500, repr(e))
|
|
|
+# Copyright (C) 2022 #
|
|
|
+# @Time : 2022/3/9 9:20
|
|
|
+# @Author : ming
|
|
|
+# @Email : zhangdongming@asj6.wecom.work
|
|
|
+# @File : SurveysController.py
|
|
|
+# @Software: PyCharm
|
|
|
+import time
|
|
|
+import json
|
|
|
+from django.utils.decorators import method_decorator
|
|
|
+from django.views.decorators.csrf import csrf_exempt
|
|
|
+from django.views.generic.base import View
|
|
|
+from Object.TokenObject import TokenObject
|
|
|
+from Object.ResponseObject import ResponseObject
|
|
|
+from Model.models import Surveys, SurveysTitle, Order_Model, CloudVodSurveysAnswer, Device_User, SurveysUserLog
|
|
|
+from Service.CommonService import CommonService
|
|
|
+import logging
|
|
|
+
|
|
|
+
|
|
|
+class SurveysView(View):
|
|
|
+ @method_decorator(csrf_exempt)
|
|
|
+ def dispatch(self, *args, **kwargs):
|
|
|
+ return super(SurveysView, self).dispatch(*args, **kwargs)
|
|
|
+
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ operation = kwargs.get('operation')
|
|
|
+ return self.validation(request.GET, request, operation)
|
|
|
+
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ operation = kwargs.get('operation')
|
|
|
+ return self.validation(request.POST, request, operation)
|
|
|
+
|
|
|
+ def validation(self, request_dict, request, operation):
|
|
|
+ logger = logging.getLogger('info')
|
|
|
+ token = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
|
|
|
+ response = ResponseObject()
|
|
|
+ if token.code != 0:
|
|
|
+ return response.json(token.code)
|
|
|
+ userID = token.userID
|
|
|
+
|
|
|
+ ''' API '''
|
|
|
+ logger.info('---- this user id:{},dict{}'.format(userID, request_dict))
|
|
|
+ if operation == 'get/info':
|
|
|
+ return self.check_stock_user(userID, request_dict, response)
|
|
|
+ if operation == 'cloud/answer/save':
|
|
|
+ ip = CommonService.get_ip_address(request)
|
|
|
+ return self.answer_save(userID, ip, request_dict, response)
|
|
|
+
|
|
|
+ ''' 后台管理'''
|
|
|
+ response = ResponseObject(returntype='pc')
|
|
|
+ if operation == 'save':
|
|
|
+ return self.save(request_dict, response)
|
|
|
+ if operation == 'edit':
|
|
|
+ return self.edit(request_dict, response)
|
|
|
+ if operation == 'list':
|
|
|
+ return self.get_page(request_dict, response)
|
|
|
+ if operation == 'title/list':
|
|
|
+ return self.get_title_list(request_dict, response)
|
|
|
+ if operation == 'title/save':
|
|
|
+ return self.title_save(request_dict, response)
|
|
|
+ if operation == 'title/edit':
|
|
|
+ return self.title_edit(request_dict, response)
|
|
|
+ if operation == 'title/del':
|
|
|
+ return self.title_del(request_dict, response)
|
|
|
+ if operation == 'cloud/vod/answer/page':
|
|
|
+ return self.cloud_surveys_answer_page(request_dict, response)
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def check_stock_user(self, user_id, request_dict, response):
|
|
|
+ order = Order_Model.objects.filter(userID=user_id, status=1, order_type=0)
|
|
|
+ if order.count() == 0:
|
|
|
+ return response.json(10030)
|
|
|
+ try:
|
|
|
+ no = '01'
|
|
|
+ surveys = Surveys.objects.filter(no=no, user_type=1)
|
|
|
+ if not all(surveys):
|
|
|
+ return response.json(173)
|
|
|
+ result = surveys[0]
|
|
|
+ surveys_title = SurveysTitle.objects.filter(surveys_id=result.id).order_by('-created_time')
|
|
|
+
|
|
|
+ submit = 0
|
|
|
+ if surveys_title.exists():
|
|
|
+ surveys_title = surveys_title[0]
|
|
|
+ cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=surveys_title.id, user_id=user_id)
|
|
|
+ if cloud_vod.exists():
|
|
|
+ submit = 1
|
|
|
+ data = {
|
|
|
+ 'no': result.no,
|
|
|
+ 'title': 'Zosi Cloud Storage',
|
|
|
+ 'imageUrl': 'https://d2cjxvw3tr9apc.cloudfront.net/app/images/ansjer-cloud-surveys.png',
|
|
|
+ 'userType': result.user_type,
|
|
|
+ 'startTime': result.start_time,
|
|
|
+ 'endTime': result.end_time,
|
|
|
+ 'isShow': result.is_show,
|
|
|
+ 'isSubmit': submit,
|
|
|
+ 'page': '/surveys?token=' if result.is_show == 1 else ''
|
|
|
+ }
|
|
|
+ status = True if submit == 1 else False
|
|
|
+ self.surveys_user_log_save(status, user_id)
|
|
|
+ return response.json(0, data)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
+
|
|
|
+ def surveys_user_log_save(self, status=False, userId='', survey_type=1):
|
|
|
+ if userId:
|
|
|
+ user_log = SurveysUserLog.objects.filter(user_id=userId, type=survey_type)
|
|
|
+ if user_log.exists():
|
|
|
+ if status and user_log[0].is_filled == 0:
|
|
|
+ user_log.update(is_filled=1)
|
|
|
+ else:
|
|
|
+ createdTime = int(time.time())
|
|
|
+ user_log = SurveysUserLog(user_id=userId, type=1, created_time=createdTime)
|
|
|
+ user_log.save()
|
|
|
+
|
|
|
+ def answer_save(self, userId, ip, request_dict, response):
|
|
|
+ try:
|
|
|
+ ipInfo = CommonService.getIpIpInfo(ip, "CN")
|
|
|
+ country_name = ipInfo['country_name']
|
|
|
+ no = request_dict.get('no', None)
|
|
|
+ if not no:
|
|
|
+ return response.json(10, 'no is null')
|
|
|
+ survey = Surveys.objects.filter(no=no)
|
|
|
+ if survey.exists():
|
|
|
+ survey = survey[0]
|
|
|
+ survey_title = SurveysTitle.objects.filter(surveys=survey.id)
|
|
|
+ if survey_title.exists():
|
|
|
+ survey_title = survey_title[0]
|
|
|
+ cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=survey_title.id, user_id=userId)
|
|
|
+ if cloud_vod.exists():
|
|
|
+ return response.json(10, "Do not submit twice")
|
|
|
+ score = request_dict.get('score', None)
|
|
|
+ topicA = request_dict.get('topicA', None)
|
|
|
+ topicB = request_dict.get('topicB', None)
|
|
|
+ topicC = request_dict.get('topicC', None)
|
|
|
+ topicD = request_dict.get('topicD', None)
|
|
|
+ topicF = request_dict.get('topicF', None)
|
|
|
+ createdTime = int(time.time())
|
|
|
+ answer = CloudVodSurveysAnswer(title_id=survey_title.id, user_id=userId, ip=ip, answer1=int(score),
|
|
|
+ answer2=topicA,
|
|
|
+ answer3=topicB, answer4=topicC, answer5=topicD, answer6=topicF,
|
|
|
+ created_time=createdTime, country_name=country_name)
|
|
|
+ answer.save()
|
|
|
+ SurveysUserLog.objects.filter(user_id=userId, type=1).update(is_filled=1)
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
+
|
|
|
+ def get_page(self, request_dict, response):
|
|
|
+ pageNo = request_dict.get('pageNo', None)
|
|
|
+ pageSize = request_dict.get('pageSize', None)
|
|
|
+ if not all([pageNo, pageSize]):
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ page = int(pageNo)
|
|
|
+ line = int(pageSize)
|
|
|
+ try:
|
|
|
+ request_qs = Surveys.objects.all()
|
|
|
+ total = request_qs.count()
|
|
|
+ surveys_list = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
|
|
|
+ result_list = []
|
|
|
+ for surveys in surveys_list:
|
|
|
+ start_time = time.localtime(surveys.start_time)
|
|
|
+ endT_time = time.localtime(surveys.end_time)
|
|
|
+ created_time = time.localtime(surveys.created_time)
|
|
|
+ result_list.append({
|
|
|
+ 'id': surveys.id,
|
|
|
+ 'no': surveys.no,
|
|
|
+ 'userType': surveys.user_type,
|
|
|
+ 'startTime': time.strftime("%Y-%m-%d %H:%M:%S", start_time),
|
|
|
+ 'endTime': time.strftime("%Y-%m-%d %H:%M:%S", endT_time),
|
|
|
+ 'isShow': surveys.is_show,
|
|
|
+ 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
|
|
|
+ })
|
|
|
+ return response.json(0, {'list': result_list, 'total': total})
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
+
|
|
|
+ def save(self, request_dict, response):
|
|
|
+ no = request_dict.get('no', None)
|
|
|
+ if no:
|
|
|
+ if Surveys.objects.filter(no=no).exists():
|
|
|
+ return response.json(10, '已存在')
|
|
|
+ no = request_dict.get('no', None)
|
|
|
+ userType = request_dict.get('userType', None)
|
|
|
+ startTime = request_dict.get('dateTime[0]', None)
|
|
|
+ endTime = request_dict.get('dateTime[1]', None)
|
|
|
+ isShow = request_dict.get('isShow', None)
|
|
|
+ isShow = 1 if isShow == 'true' else 0
|
|
|
+ createdTime = int(time.time())
|
|
|
+ try:
|
|
|
+ surveys = Surveys(no=no, user_type=userType, start_time=int(startTime),
|
|
|
+ end_time=endTime, is_show=isShow, created_time=int(createdTime))
|
|
|
+ surveys.save()
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def edit(self, request_dict, response):
|
|
|
+ sur_id = request_dict.get('id', None)
|
|
|
+ if not sur_id:
|
|
|
+ return response.json(10, 'id不存在')
|
|
|
+
|
|
|
+ userType = request_dict.get('userType', None)
|
|
|
+ startTime = request_dict.get('dateTime[0]', None)
|
|
|
+ endTime = request_dict.get('dateTime[1]', None)
|
|
|
+ isShow = request_dict.get('isShow', None)
|
|
|
+ isShow = 1 if isShow == 'true' else 0
|
|
|
+ print(endTime)
|
|
|
+ Surveys.objects.filter(id=int(sur_id)).update(user_type=int(userType), start_time=int(startTime),
|
|
|
+ end_time=int(endTime),
|
|
|
+ is_show=int(isShow))
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def delete(self, request_dict, response):
|
|
|
+ sId = request_dict.get('id', None)
|
|
|
+ if not sId:
|
|
|
+ return response.json(10, 'id不存在')
|
|
|
+ Surveys.objects.filter(id=sId).delete()
|
|
|
+ response.json(0)
|
|
|
+
|
|
|
+ def title_save(self, request_dict, response):
|
|
|
+ surveyId = request_dict.get('surveyId', None)
|
|
|
+ if not surveyId:
|
|
|
+ return response(10, 'surveyId is null')
|
|
|
+ t_id = request_dict.get('id', None)
|
|
|
+ content = request_dict.get('content', None)
|
|
|
+ createdTime = int(time.time())
|
|
|
+ try:
|
|
|
+ title = SurveysTitle.objects.filter(id=t_id)
|
|
|
+ if title.exists():
|
|
|
+ title.update(title_content=content)
|
|
|
+ else:
|
|
|
+ surveys_title = SurveysTitle(surveys_id=surveyId, title_content=content
|
|
|
+ , created_time=createdTime)
|
|
|
+ surveys_title.save()
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
+
|
|
|
+ def get_title_list(self, request_dict, response):
|
|
|
+ surveyId = request_dict.get('surveyId', None)
|
|
|
+ info = request_dict.get('info', None)
|
|
|
+ if not surveyId:
|
|
|
+ return response.json(10, '问卷id不存在')
|
|
|
+ title_list = SurveysTitle.objects.filter(surveys_id=surveyId).order_by('-created_time')
|
|
|
+ if not title_list.exists():
|
|
|
+ if info:
|
|
|
+ return response.json(0, {'id': None, 'content': None})
|
|
|
+ return response.json(173)
|
|
|
+ content = title_list[0]
|
|
|
+ if info:
|
|
|
+ return response.json(0, {'id': content.id, 'content': content.title_content})
|
|
|
+ data = json.loads(content.title_content)
|
|
|
+ return response.json(0, {'answers': data})
|
|
|
+
|
|
|
+ def title_edit(self, request_dict, response):
|
|
|
+ title_id = request_dict.get('id', None)
|
|
|
+ if not title_id:
|
|
|
+ return response.json(10, 'id不存在')
|
|
|
+ content = request_dict.get('content', None)
|
|
|
+ surveys_title = SurveysTitle.objects.filter(surveys_id=title_id)
|
|
|
+ surveys_title.update(title_content=content)
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def title_del(self, request_dict, response):
|
|
|
+ title_id = request_dict.get('id', None)
|
|
|
+ if not title_id:
|
|
|
+ return response.json(10, 'id不存在')
|
|
|
+ SurveysTitle.objects.filter(id=title_id).delete()
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ def cloud_surveys_answer_page(self, request_dict, response):
|
|
|
+ pageNo = request_dict.get('pageNo', None)
|
|
|
+ pageSize = request_dict.get('pageSize', None)
|
|
|
+ if not all([pageNo, pageSize]):
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ page = int(pageNo)
|
|
|
+ line = int(pageSize)
|
|
|
+ try:
|
|
|
+ request_qs = CloudVodSurveysAnswer.objects.all()
|
|
|
+ total = request_qs.count()
|
|
|
+ answer_page = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
|
|
|
+ result_list = []
|
|
|
+ for answer in answer_page:
|
|
|
+ d_user = Device_User.objects.filter(userID=answer.user_id)
|
|
|
+ if not all(d_user):
|
|
|
+ return response.json(173)
|
|
|
+ d_user = d_user[0]
|
|
|
+ created_time = time.localtime(answer.created_time)
|
|
|
+ result_list.append({
|
|
|
+ 'id': answer.id,
|
|
|
+ 'uId': d_user.userID,
|
|
|
+ 'uName': d_user.username,
|
|
|
+ 'nickName': d_user.NickName,
|
|
|
+ 'answer1': answer.answer1,
|
|
|
+ 'answer2': answer.answer2,
|
|
|
+ 'answer3': answer.answer3,
|
|
|
+ 'answer4': answer.answer4,
|
|
|
+ 'answer5': answer.answer5,
|
|
|
+ 'answer6': answer.answer6,
|
|
|
+ 'country': answer.country_name,
|
|
|
+ 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
|
|
|
+ })
|
|
|
+ return response.json(0, {'list': result_list, 'total': total})
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|