SurveysController.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. # #!/usr/bin/python3.6
  2. # # -*- coding: utf-8 -*-
  3. # #
  4. # # Copyright (C) 2022 #
  5. # # @Time : 2022/3/9 9:20
  6. # # @Author : ming
  7. # # @Email : zhangdongming@asj6.wecom.work
  8. # # @File : SurveysController.py
  9. # # @Software: PyCharm
  10. # import time
  11. # import json
  12. # from django.utils.decorators import method_decorator
  13. # from django.views.decorators.csrf import csrf_exempt
  14. # from django.views.generic.base import View
  15. # from Object.TokenObject import TokenObject
  16. # from Object.ResponseObject import ResponseObject
  17. # from Model.models import Surveys, SurveysTitle, Order_Model, CloudVodSurveysAnswer, Device_User
  18. # from Service.CommonService import CommonService
  19. # import logging
  20. #
  21. #
  22. # class SurveysView(View):
  23. # @method_decorator(csrf_exempt)
  24. # def dispatch(self, *args, **kwargs):
  25. # return super(SurveysView, self).dispatch(*args, **kwargs)
  26. #
  27. # def get(self, request, *args, **kwargs):
  28. # request.encoding = 'utf-8'
  29. # operation = kwargs.get('operation')
  30. # return self.validation(request.GET, request, operation)
  31. #
  32. # def post(self, request, *args, **kwargs):
  33. # request.encoding = 'utf-8'
  34. # operation = kwargs.get('operation')
  35. # return self.validation(request.POST, request, operation)
  36. #
  37. # def validation(self, request_dict, request, operation):
  38. # logger = logging.getLogger('info')
  39. # token = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
  40. # response = ResponseObject()
  41. # if token.code != 0:
  42. # return response.json(token.code)
  43. # userID = token.userID
  44. #
  45. # ''' API '''
  46. # logger.info('this user id:{},dict{}'.format(userID, request_dict))
  47. # if operation == 'get/info':
  48. # return self.check_stock_user(userID, request_dict, response)
  49. # if operation == 'cloud/answer/save':
  50. # ip = CommonService.get_ip_address(request)
  51. # return self.answer_save(userID, ip, request_dict, response)
  52. #
  53. # ''' 后台管理'''
  54. # response = ResponseObject(returntype='pc')
  55. # if operation == 'save':
  56. # return self.save(request_dict, response)
  57. # if operation == 'edit':
  58. # return self.edit(request_dict, response)
  59. # if operation == 'list':
  60. # return self.get_page(request_dict, response)
  61. # if operation == 'title/list':
  62. # return self.get_title_list(request_dict, response)
  63. # if operation == 'title/save':
  64. # return self.title_save(request_dict, response)
  65. # if operation == 'title/edit':
  66. # return self.title_edit(request_dict, response)
  67. # if operation == 'title/del':
  68. # return self.title_del(request_dict, response)
  69. # if operation == 'cloud/vod/answer/page':
  70. # return self.cloud_surveys_answer_page(request_dict, response)
  71. # return response.json(0)
  72. #
  73. # def check_stock_user(self, user_id, request_dict, response):
  74. # order = Order_Model.objects.filter(userID=user_id, status=1, order_type=0)
  75. # if order.count() == 0:
  76. # return response.json(10030)
  77. # try:
  78. # no = '01'
  79. # surveys = Surveys.objects.filter(no=no, user_type=1)
  80. # if not all(surveys):
  81. # return response.json(173)
  82. # result = surveys[0]
  83. # surveys_title = SurveysTitle.objects.filter(surveys_id=result.id).order_by('-created_time')
  84. # submit = 0
  85. # if surveys_title.exists():
  86. # surveys_title = surveys_title[0]
  87. # cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=surveys_title.id, user_id=user_id)
  88. # if cloud_vod.exists():
  89. # submit = 1
  90. # data = {
  91. # 'no': result.no,
  92. # 'title': 'Zosi Cloud Storage',
  93. # 'img': '',
  94. # 'userType': result.user_type,
  95. # 'startTime': result.start_time,
  96. # 'endTime': result.end_time,
  97. # 'isShow': result.is_show,
  98. # 'isSubmit': submit,
  99. # 'page': '/surveys?token=' if result.is_show == 1 else ''
  100. # }
  101. # return response.json(0, data)
  102. # except Exception as e:
  103. # print(e)
  104. # return response.json(500, repr(e))
  105. #
  106. # def answer_save(self, userId, ip, request_dict, response):
  107. # try:
  108. # ipInfo = CommonService.getIpIpInfo(ip, "CN")
  109. # country_name = ipInfo['country_name']
  110. # no = request_dict.get('no', None)
  111. # if not no:
  112. # return response.json(10, 'no is null')
  113. # survey = Surveys.objects.filter(no=no)
  114. # if survey.exists():
  115. # survey = survey[0]
  116. # survey_title = SurveysTitle.objects.filter(surveys=survey.id)
  117. # if survey_title.exists():
  118. # survey_title = survey_title[0]
  119. # cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=survey_title.id, user_id=userId)
  120. # if cloud_vod.exists():
  121. # return response.json(10, "Do not submit twice")
  122. # score = request_dict.get('score', None)
  123. # topicA = request_dict.get('topicA', None)
  124. # topicB = request_dict.get('topicB', None)
  125. # topicC = request_dict.get('topicC', None)
  126. # topicD = request_dict.get('topicD', None)
  127. # topicF = request_dict.get('topicF', None)
  128. # createdTime = int(time.time())
  129. # answer = CloudVodSurveysAnswer(title_id=survey_title.id, user_id=userId, ip=ip, answer1=int(score),
  130. # answer2=topicA,
  131. # answer3=topicB, answer4=topicC, answer5=topicD, answer6=topicF,
  132. # created_time=createdTime, country_name=country_name)
  133. # answer.save()
  134. # return response.json(0)
  135. # except Exception as e:
  136. # print(e)
  137. # return response.json(500, repr(e))
  138. #
  139. # def get_page(self, request_dict, response):
  140. # pageNo = request_dict.get('pageNo', None)
  141. # pageSize = request_dict.get('pageSize', None)
  142. # if not all([pageNo, pageSize]):
  143. # return response.json(444)
  144. #
  145. # page = int(pageNo)
  146. # line = int(pageSize)
  147. # try:
  148. # request_qs = Surveys.objects.all()
  149. # total = request_qs.count()
  150. # surveys_list = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
  151. # result_list = []
  152. # for surveys in surveys_list:
  153. # start_time = time.localtime(surveys.start_time)
  154. # endT_time = time.localtime(surveys.end_time)
  155. # created_time = time.localtime(surveys.created_time)
  156. # result_list.append({
  157. # 'id': surveys.id,
  158. # 'no': surveys.no,
  159. # 'userType': surveys.user_type,
  160. # 'startTime': time.strftime("%Y-%m-%d %H:%M:%S", start_time),
  161. # 'endTime': time.strftime("%Y-%m-%d %H:%M:%S", endT_time),
  162. # 'isShow': surveys.is_show,
  163. # 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
  164. # })
  165. # return response.json(0, {'list': result_list, 'total': total})
  166. # except Exception as e:
  167. # print(e)
  168. # return response.json(500, repr(e))
  169. #
  170. # def save(self, request_dict, response):
  171. # no = request_dict.get('no', None)
  172. # if no:
  173. # if Surveys.objects.filter(no=no).exists():
  174. # return response.json(10, '已存在')
  175. # no = request_dict.get('no', None)
  176. # userType = request_dict.get('userType', None)
  177. # startTime = request_dict.get('dateTime[0]', None)
  178. # endTime = request_dict.get('dateTime[1]', None)
  179. # isShow = request_dict.get('isShow', None)
  180. # isShow = 1 if isShow == 'true' else 0
  181. # createdTime = int(time.time())
  182. # try:
  183. # surveys = Surveys(no=no, user_type=userType, start_time=int(startTime),
  184. # end_time=endTime, is_show=isShow, created_time=int(createdTime))
  185. # surveys.save()
  186. # return response.json(0)
  187. # except Exception as e:
  188. # print(e)
  189. # return response.json(500, repr(e))
  190. # return response.json(0)
  191. #
  192. # def edit(self, request_dict, response):
  193. # sur_id = request_dict.get('id', None)
  194. # if not sur_id:
  195. # return response.json(10, 'id不存在')
  196. #
  197. # userType = request_dict.get('userType', None)
  198. # startTime = request_dict.get('dateTime[0]', None)
  199. # endTime = request_dict.get('dateTime[1]', None)
  200. # isShow = request_dict.get('isShow', None)
  201. # isShow = 1 if isShow == 'true' else 0
  202. # print(endTime)
  203. # Surveys.objects.filter(id=int(sur_id)).update(user_type=int(userType), start_time=int(startTime),
  204. # end_time=int(endTime),
  205. # is_show=int(isShow))
  206. # return response.json(0)
  207. #
  208. # def delete(self, request_dict, response):
  209. # sId = request_dict.get('id', None)
  210. # if not sId:
  211. # return response.json(10, 'id不存在')
  212. # Surveys.objects.filter(id=sId).delete()
  213. # response.json(0)
  214. #
  215. # def title_save(self, request_dict, response):
  216. # surveyId = request_dict.get('surveyId', None)
  217. # if not surveyId:
  218. # return response(10, 'surveyId is null')
  219. # t_id = request_dict.get('id', None)
  220. # content = request_dict.get('content', None)
  221. # createdTime = int(time.time())
  222. # try:
  223. # title = SurveysTitle.objects.filter(id=t_id)
  224. # if title.exists():
  225. # title.update(title_content=content)
  226. # else:
  227. # surveys_title = SurveysTitle(surveys_id=surveyId, title_content=content
  228. # , created_time=createdTime)
  229. # surveys_title.save()
  230. # return response.json(0)
  231. # except Exception as e:
  232. # print(e)
  233. # return response.json(500, repr(e))
  234. #
  235. # def get_title_list(self, request_dict, response):
  236. # surveyId = request_dict.get('surveyId', None)
  237. # info = request_dict.get('info', None)
  238. # if not surveyId:
  239. # return response.json(10, '问卷id不存在')
  240. # title_list = SurveysTitle.objects.filter(surveys_id=surveyId).order_by('-created_time')
  241. # if not title_list.exists():
  242. # if info:
  243. # return response.json(0, {'id': None, 'content': None})
  244. # return response.json(173)
  245. # content = title_list[0]
  246. # if info:
  247. # return response.json(0, {'id': content.id, 'content': content.title_content})
  248. # data = json.loads(content.title_content)
  249. # return response.json(0, {'answers': data})
  250. #
  251. # def title_edit(self, request_dict, response):
  252. # title_id = request_dict.get('id', None)
  253. # if not title_id:
  254. # return response.json(10, 'id不存在')
  255. # content = request_dict.get('content', None)
  256. # surveys_title = SurveysTitle.objects.filter(surveys_id=title_id)
  257. # surveys_title.update(title_content=content)
  258. # return response.json(0)
  259. #
  260. # def title_del(self, request_dict, response):
  261. # title_id = request_dict.get('id', None)
  262. # if not title_id:
  263. # return response.json(10, 'id不存在')
  264. # SurveysTitle.objects.filter(id=title_id).delete()
  265. # return response.json(0)
  266. #
  267. # def cloud_surveys_answer_page(self, request_dict, response):
  268. # pageNo = request_dict.get('pageNo', None)
  269. # pageSize = request_dict.get('pageSize', None)
  270. # if not all([pageNo, pageSize]):
  271. # return response.json(444)
  272. #
  273. # page = int(pageNo)
  274. # line = int(pageSize)
  275. # try:
  276. # request_qs = CloudVodSurveysAnswer.objects.all()
  277. # total = request_qs.count()
  278. # answer_page = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
  279. # result_list = []
  280. # for answer in answer_page:
  281. # d_user = Device_User.objects.filter(userID=answer.user_id)
  282. # if not all(d_user):
  283. # return response.json(173)
  284. # d_user = d_user[0]
  285. # created_time = time.localtime(answer.created_time)
  286. # result_list.append({
  287. # 'id': answer.id,
  288. # 'uId': d_user.userID,
  289. # 'uName': d_user.username,
  290. # 'nickName': d_user.NickName,
  291. # 'answer1': answer.answer_1,
  292. # 'answer2': answer.answer_2,
  293. # 'answer3': answer.answer_3,
  294. # 'answer4': answer.answer_4,
  295. # 'answer5': answer.answer_5,
  296. # 'answer6': answer.answer_6,
  297. # 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
  298. # })
  299. # return response.json(0, {'list': result_list, 'total': total})
  300. # except Exception as e:
  301. # print(e)
  302. # return response.json(500, repr(e))