CDKController.py 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2018/12/5 9:30
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: cloudstorage.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. import json
  15. import time
  16. import urllib
  17. import uuid
  18. import boto3
  19. import oss2
  20. import paypalrestsdk
  21. import threading
  22. from aliyunsdkcore import client
  23. from aliyunsdksts.request.v20150401 import AssumeRoleRequest
  24. from boto3.session import Session
  25. from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
  26. from django.views.generic.base import View
  27. from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
  28. SERVER_DOMAIN_SSL
  29. from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
  30. ExperienceContextModel, CDKcontextModel
  31. from Object.AliPayObject import AliPayObject
  32. from Object.ResponseObject import ResponseObject
  33. from Object.TokenObject import TokenObject
  34. from Object.UidTokenObject import UidTokenObject
  35. from Service.CommonService import CommonService
  36. from Object.m3u8generate import PlaylistGenerator
  37. from Object.WechatPayObject import WechatPayObject
  38. from django.db.models import Q
  39. SERVER_DOMAIN = 'http://test.dvema.com/'
  40. # 设备信息添加
  41. class CDKView(View):
  42. def get(self, request, *args, **kwargs):
  43. request.encoding = 'utf-8'
  44. operation = kwargs.get('operation')
  45. return self.validation(request.GET, request, operation)
  46. def post(self, request, *args, **kwargs):
  47. request.encoding = 'utf-8'
  48. operation = kwargs.get('operation')
  49. return self.validation(request.POST, request, operation)
  50. def validation(self, request_dict, request, operation):
  51. response = ResponseObject()
  52. if operation == 'createCDK':
  53. return self.createCDK(request_dict, response)
  54. elif operation == 'deleteCDK':
  55. return self.deleteCDK(request_dict, response)
  56. elif operation == 'queryCDK':
  57. return self.queryCDK(request_dict, response)
  58. elif operation == 'saveOrEditCDKform':
  59. return self.saveOrEditCDKform(request_dict, response)
  60. elif operation == 'saveOrEditCDK':
  61. return self.saveOrEditCDK(request_dict, response)
  62. if operation is None:
  63. return response.json(444, 'error path')
  64. else:
  65. token = request_dict.get('token', None)
  66. # 设备主键uid
  67. tko = TokenObject(token)
  68. response.lang = tko.lang
  69. if tko.code != 0:
  70. return response.json(tko.code)
  71. userID = tko.userID
  72. def createCDK(self, request_dict, response):
  73. cdk_num = request_dict.get("cdknum", None)
  74. rank = request_dict.get('rank', None)
  75. order = request_dict.get('order', None)
  76. cdk_list = []
  77. for i in range(int(cdk_num)):
  78. nowTime = int(time.time())
  79. cdk_model = CDKcontextModel(
  80. cdk=uuid.uuid1(),
  81. create_time=nowTime,
  82. valid_time=0,
  83. is_activate=0,
  84. rank_id=rank,
  85. order=order,
  86. )
  87. cdk_list.append(cdk_model)
  88. try:
  89. CDKcontextModel.objects.bulk_create(cdk_list)
  90. except Exception as e:
  91. print(repr(e))
  92. return response.json(404, repr(e))
  93. else:
  94. return response.json(0)
  95. def queryCDK(self, request_dict, response):
  96. page = int(request_dict.get('page', None))
  97. line = int(request_dict.get('line', None))
  98. # channel = request_dict.get('channel', None)
  99. cdk = request_dict.get('cdk', None)
  100. order = request_dict.get('order', None)
  101. is_activate = request_dict.get('is_activate', None)
  102. searchVal = ''
  103. if cdk:
  104. searchVal = cdk.strip()
  105. elif order:
  106. searchVal = order.strip()
  107. elif is_activate:
  108. searchVal = is_activate.strip()
  109. if page and line:
  110. cdk_qs = CDKcontextModel.objects.filter().all() # values('cdk','create_time','valid_time','is_activate','rank__id','order__id')
  111. if searchVal:
  112. if cdk:
  113. cdk_qs = cdk_qs.filter(cdk=searchVal)
  114. elif order:
  115. cdk_qs = cdk_qs.filter(order=searchVal)
  116. elif is_activate:
  117. cdk_qs = cdk_qs.filter(is_activate=searchVal)
  118. cdk_qs = cdk_qs.values('id', 'cdk', 'create_time', 'valid_time', 'is_activate', 'rank__id', 'order',
  119. 'create_time')
  120. cdk_qs = cdk_qs.order_by('-create_time') # 根据CDK创建时间降序排序
  121. count = cdk_qs.count()
  122. cdk_qs = cdk_qs[(page - 1) * line:page * line]
  123. cdk_dict = {}
  124. for cdk in cdk_qs:
  125. cdk_dict[cdk['id']] = {'id': cdk['id'], 'cdk': cdk['cdk'], 'create_time': cdk['create_time'],
  126. 'valid_time': cdk['valid_time'], 'is_activate': cdk['is_activate'],
  127. 'rank': cdk['rank__id'], 'order': cdk['order']}
  128. res = {
  129. 'cdk_list': cdk_dict,
  130. 'count': count
  131. }
  132. return response.json(0, res)
  133. else:
  134. return response.json(444, 'page,line')
  135. def deleteCDK(self, request_dict, response):
  136. cdk_id = request_dict.get("id", None)
  137. try:
  138. CDKcontextModel.objects.get(id=cdk_id).delete()
  139. except Exception as e:
  140. return response.json(404, repr(e))
  141. else:
  142. return response.json(0)
  143. def saveOrEditCDK(self, request_dict, response):
  144. cdk_id = request_dict.get("id", None)
  145. cdk = request_dict.get('cdk', None)
  146. valid_time = request_dict.get('valid_time', None)
  147. is_activate = request_dict.get('is_activate', None)
  148. rank = request_dict.get('rank', None)
  149. try:
  150. if cdk_id:
  151. if cdk or valid_time or is_activate or rank:
  152. update_dict = {}
  153. if cdk:
  154. update_dict['cdk'] = cdk
  155. if valid_time:
  156. update_dict['valid_time'] = valid_time
  157. if is_activate:
  158. update_dict['is_activate'] = is_activate
  159. if rank:
  160. update_dict['rank'] = rank
  161. CDKcontextModel.objects.filter(id=cdk_id).update(**update_dict)
  162. except Exception as e:
  163. return response.json(404, repr(e))
  164. else:
  165. return response.json(0)