123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- # #!/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
- # 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',
- # 'img': '',
- # '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 ''
- # }
- # return response.json(0, data)
- # except Exception as e:
- # print(e)
- # return response.json(500, repr(e))
- #
- # 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()
- # 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.answer_1,
- # 'answer2': answer.answer_2,
- # 'answer3': answer.answer_3,
- # 'answer4': answer.answer_4,
- # 'answer5': answer.answer_5,
- # 'answer6': answer.answer_6,
- # '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))
|