SurveysController.py 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  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, SurveysUserLog
  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. #
  85. # submit = 0
  86. # if surveys_title.exists():
  87. # surveys_title = surveys_title[0]
  88. # cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=surveys_title.id, user_id=user_id)
  89. # if cloud_vod.exists():
  90. # submit = 1
  91. # data = {
  92. # 'no': result.no,
  93. # 'title': 'Zosi Cloud Storage',
  94. # 'imageUrl': 'https://d2cjxvw3tr9apc.cloudfront.net/app/images/ansjer-cloud-surveys.png',
  95. # 'userType': result.user_type,
  96. # 'startTime': result.start_time,
  97. # 'endTime': result.end_time,
  98. # 'isShow': result.is_show,
  99. # 'isSubmit': submit,
  100. # 'page': '/surveys?token=' if result.is_show == 1 else ''
  101. # }
  102. # status = True if submit == 1 else False
  103. # self.surveys_user_log_save(status, user_id)
  104. # return response.json(0, data)
  105. # except Exception as e:
  106. # print(e)
  107. # return response.json(500, repr(e))
  108. #
  109. # def surveys_user_log_save(self, status=False, userId='', survey_type=1):
  110. # if userId:
  111. # user_log = SurveysUserLog.objects.filter(user_id=userId, type=survey_type)
  112. # if user_log.exists():
  113. # if status and user_log[0].is_filled == 0:
  114. # user_log.update(is_filled=1)
  115. # else:
  116. # createdTime = int(time.time())
  117. # user_log = SurveysUserLog(user_id=userId, type=1, created_time=createdTime)
  118. # user_log.save()
  119. #
  120. # def answer_save(self, userId, ip, request_dict, response):
  121. # try:
  122. # ipInfo = CommonService.getIpIpInfo(ip, "CN")
  123. # country_name = ipInfo['country_name']
  124. # no = request_dict.get('no', None)
  125. # if not no:
  126. # return response.json(10, 'no is null')
  127. # survey = Surveys.objects.filter(no=no)
  128. # if survey.exists():
  129. # survey = survey[0]
  130. # survey_title = SurveysTitle.objects.filter(surveys=survey.id)
  131. # if survey_title.exists():
  132. # survey_title = survey_title[0]
  133. # cloud_vod = CloudVodSurveysAnswer.objects.filter(title_id=survey_title.id, user_id=userId)
  134. # if cloud_vod.exists():
  135. # return response.json(10, "Do not submit twice")
  136. # score = request_dict.get('score', None)
  137. # topicA = request_dict.get('topicA', None)
  138. # topicB = request_dict.get('topicB', None)
  139. # topicC = request_dict.get('topicC', None)
  140. # topicD = request_dict.get('topicD', None)
  141. # topicF = request_dict.get('topicF', None)
  142. # createdTime = int(time.time())
  143. # answer = CloudVodSurveysAnswer(title_id=survey_title.id, user_id=userId, ip=ip, answer1=int(score),
  144. # answer2=topicA,
  145. # answer3=topicB, answer4=topicC, answer5=topicD, answer6=topicF,
  146. # created_time=createdTime, country_name=country_name)
  147. # answer.save()
  148. # SurveysUserLog.objects.filter(user_id=userId, type=1).update(is_filled=1)
  149. # return response.json(0)
  150. # except Exception as e:
  151. # print(e)
  152. # return response.json(500, repr(e))
  153. #
  154. # def get_page(self, request_dict, response):
  155. # pageNo = request_dict.get('pageNo', None)
  156. # pageSize = request_dict.get('pageSize', None)
  157. # if not all([pageNo, pageSize]):
  158. # return response.json(444)
  159. #
  160. # page = int(pageNo)
  161. # line = int(pageSize)
  162. # try:
  163. # request_qs = Surveys.objects.all()
  164. # total = request_qs.count()
  165. # surveys_list = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
  166. # result_list = []
  167. # for surveys in surveys_list:
  168. # start_time = time.localtime(surveys.start_time)
  169. # endT_time = time.localtime(surveys.end_time)
  170. # created_time = time.localtime(surveys.created_time)
  171. # result_list.append({
  172. # 'id': surveys.id,
  173. # 'no': surveys.no,
  174. # 'userType': surveys.user_type,
  175. # 'startTime': time.strftime("%Y-%m-%d %H:%M:%S", start_time),
  176. # 'endTime': time.strftime("%Y-%m-%d %H:%M:%S", endT_time),
  177. # 'isShow': surveys.is_show,
  178. # 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
  179. # })
  180. # return response.json(0, {'list': result_list, 'total': total})
  181. # except Exception as e:
  182. # print(e)
  183. # return response.json(500, repr(e))
  184. #
  185. # def save(self, request_dict, response):
  186. # no = request_dict.get('no', None)
  187. # if no:
  188. # if Surveys.objects.filter(no=no).exists():
  189. # return response.json(10, '已存在')
  190. # no = request_dict.get('no', None)
  191. # userType = request_dict.get('userType', None)
  192. # startTime = request_dict.get('dateTime[0]', None)
  193. # endTime = request_dict.get('dateTime[1]', None)
  194. # isShow = request_dict.get('isShow', None)
  195. # isShow = 1 if isShow == 'true' else 0
  196. # createdTime = int(time.time())
  197. # try:
  198. # surveys = Surveys(no=no, user_type=userType, start_time=int(startTime),
  199. # end_time=endTime, is_show=isShow, created_time=int(createdTime))
  200. # surveys.save()
  201. # return response.json(0)
  202. # except Exception as e:
  203. # print(e)
  204. # return response.json(500, repr(e))
  205. # return response.json(0)
  206. #
  207. # def edit(self, request_dict, response):
  208. # sur_id = request_dict.get('id', None)
  209. # if not sur_id:
  210. # return response.json(10, 'id不存在')
  211. #
  212. # userType = request_dict.get('userType', None)
  213. # startTime = request_dict.get('dateTime[0]', None)
  214. # endTime = request_dict.get('dateTime[1]', None)
  215. # isShow = request_dict.get('isShow', None)
  216. # isShow = 1 if isShow == 'true' else 0
  217. # print(endTime)
  218. # Surveys.objects.filter(id=int(sur_id)).update(user_type=int(userType), start_time=int(startTime),
  219. # end_time=int(endTime),
  220. # is_show=int(isShow))
  221. # return response.json(0)
  222. #
  223. # def delete(self, request_dict, response):
  224. # sId = request_dict.get('id', None)
  225. # if not sId:
  226. # return response.json(10, 'id不存在')
  227. # Surveys.objects.filter(id=sId).delete()
  228. # response.json(0)
  229. #
  230. # def title_save(self, request_dict, response):
  231. # surveyId = request_dict.get('surveyId', None)
  232. # if not surveyId:
  233. # return response(10, 'surveyId is null')
  234. # t_id = request_dict.get('id', None)
  235. # content = request_dict.get('content', None)
  236. # createdTime = int(time.time())
  237. # try:
  238. # title = SurveysTitle.objects.filter(id=t_id)
  239. # if title.exists():
  240. # title.update(title_content=content)
  241. # else:
  242. # surveys_title = SurveysTitle(surveys_id=surveyId, title_content=content
  243. # , created_time=createdTime)
  244. # surveys_title.save()
  245. # return response.json(0)
  246. # except Exception as e:
  247. # print(e)
  248. # return response.json(500, repr(e))
  249. #
  250. # def get_title_list(self, request_dict, response):
  251. # surveyId = request_dict.get('surveyId', None)
  252. # info = request_dict.get('info', None)
  253. # if not surveyId:
  254. # return response.json(10, '问卷id不存在')
  255. # title_list = SurveysTitle.objects.filter(surveys_id=surveyId).order_by('-created_time')
  256. # if not title_list.exists():
  257. # if info:
  258. # return response.json(0, {'id': None, 'content': None})
  259. # return response.json(173)
  260. # content = title_list[0]
  261. # if info:
  262. # return response.json(0, {'id': content.id, 'content': content.title_content})
  263. # data = json.loads(content.title_content)
  264. # return response.json(0, {'answers': data})
  265. #
  266. # def title_edit(self, request_dict, response):
  267. # title_id = request_dict.get('id', None)
  268. # if not title_id:
  269. # return response.json(10, 'id不存在')
  270. # content = request_dict.get('content', None)
  271. # surveys_title = SurveysTitle.objects.filter(surveys_id=title_id)
  272. # surveys_title.update(title_content=content)
  273. # return response.json(0)
  274. #
  275. # def title_del(self, request_dict, response):
  276. # title_id = request_dict.get('id', None)
  277. # if not title_id:
  278. # return response.json(10, 'id不存在')
  279. # SurveysTitle.objects.filter(id=title_id).delete()
  280. # return response.json(0)
  281. #
  282. # def cloud_surveys_answer_page(self, request_dict, response):
  283. # pageNo = request_dict.get('pageNo', None)
  284. # pageSize = request_dict.get('pageSize', None)
  285. # if not all([pageNo, pageSize]):
  286. # return response.json(444)
  287. #
  288. # page = int(pageNo)
  289. # line = int(pageSize)
  290. # try:
  291. # request_qs = CloudVodSurveysAnswer.objects.all()
  292. # total = request_qs.count()
  293. # answer_page = request_qs.filter().order_by('-created_time')[(page - 1) * line:page * line]
  294. # result_list = []
  295. # for answer in answer_page:
  296. # d_user = Device_User.objects.filter(userID=answer.user_id)
  297. # if not all(d_user):
  298. # return response.json(173)
  299. # d_user = d_user[0]
  300. # created_time = time.localtime(answer.created_time)
  301. # result_list.append({
  302. # 'id': answer.id,
  303. # 'uId': d_user.userID,
  304. # 'uName': d_user.username,
  305. # 'nickName': d_user.NickName,
  306. # 'answer1': answer.answer1,
  307. # 'answer2': answer.answer2,
  308. # 'answer3': answer.answer3,
  309. # 'answer4': answer.answer4,
  310. # 'answer5': answer.answer5,
  311. # 'answer6': answer.answer6,
  312. # 'country': answer.country_name,
  313. # 'createdTime': time.strftime("%Y-%m-%d %H:%M:%S", created_time),
  314. # })
  315. # return response.json(0, {'list': result_list, 'total': total})
  316. # except Exception as e:
  317. # print(e)
  318. # return response.json(500, repr(e))