浏览代码

激活码初版

chenshibin 4 年之前
父节点
当前提交
a383ae3ac4
共有 3 个文件被更改,包括 178 次插入2 次删除
  1. 3 2
      Ansjer/urls.py
  2. 163 0
      Controller/CDKController.py
  3. 12 0
      Model/models.py

+ 3 - 2
Ansjer/urls.py

@@ -10,7 +10,7 @@ from Controller import FeedBack, EquipmentOTA, EquipmentInfo, AdminManage, AppIn
     StsOssController, UIDPreview, OssCrd, SysMsg, UidUser, EquipmentManagerV2, EquipmentManagerV3, PushDeploy, \
     AppSetController, \
     ApplicationController, UserExController, CloudStorage, TestApi, UserBrandControllerV2, \
-    StatisticsController, Alexa, FAQController, AppLogController, EquipmentVersionLimit
+    StatisticsController, Alexa, FAQController, AppLogController, EquipmentVersionLimit, CDKController
 
 urlpatterns = [
     url(r'^testApi/(?P<operation>.*)$', TestApi.testView.as_view()),
@@ -249,6 +249,7 @@ urlpatterns = [
     #testing....................
     re_path('(?P<path>.*)', LogManager.errorPath),
 
-
+    # cdk(激活码)
+    url(r'^cdk/(?P<operation>.*)$', CDKController.CDKView.as_view()),
 
 ]

+ 163 - 0
Controller/CDKController.py

@@ -0,0 +1,163 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
+@AUTHOR: ASJRD018
+@NAME: AnsjerFormal
+@software: PyCharm
+@DATE: 2018/12/5 9:30
+@Version: python3.6
+@MODIFY DECORD:ansjer dev
+@file: cloudstorage.py
+@Contact: chanjunkai@163.com
+"""
+import json
+import time
+import urllib
+import uuid
+
+import boto3
+import oss2
+import paypalrestsdk
+import threading
+from aliyunsdkcore import client
+from aliyunsdksts.request.v20150401 import AssumeRoleRequest
+from boto3.session import Session
+from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
+from django.views.generic.base import View
+
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
+    SERVER_DOMAIN_SSL
+from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, ExperienceContextModel, CDKcontextModel
+from Object.AliPayObject import AliPayObject
+from Object.ResponseObject import ResponseObject
+from Object.TokenObject import TokenObject
+from Object.UidTokenObject import UidTokenObject
+from Service.CommonService import CommonService
+from Object.m3u8generate import PlaylistGenerator
+from Object.WechatPayObject import WechatPayObject
+from django.db.models import Q
+
+SERVER_DOMAIN = 'http://test.dvema.com/'
+
+# 设备信息添加
+class CDKView(View):
+
+    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):
+        response = ResponseObject()
+        if operation is None:
+            return response.json(444, 'error path')
+        else:
+            token = request_dict.get('token', None)
+            # 设备主键uid
+            tko = TokenObject(token)
+            response.lang = tko.lang
+            if tko.code != 0:
+                return response.json(tko.code)
+            userID = tko.userID
+
+    def createCDK(self, request_dict, userID, response):
+        cdknum = request_dict.get("cdknum",None)
+        rank = request_dict.get('rank', None)
+        book_list = []
+        for i in cdknum:
+            nowTime = int(time.time())
+            cdmodel =CDKcontextModel.objects.create(
+                cdk=uuid.uuid1(),
+                create_time=nowTime,
+                valid_time=0,
+                is_activate=0,
+                rank_id=rank
+            )
+            book_list.append(cdmodel)
+        CDKcontextModel.objects.bulk_create(book_list)
+
+        response = ResponseObject()
+        return response.json(0)
+
+    def createCDK(self, request_dict, userID, response):
+        cdknum = request_dict.get("cdknum",None)
+        rank = request_dict.get('rank', None)
+        book_list = []
+        for i in cdknum:
+            nowTime = int(time.time())
+            cdmodel =CDKcontextModel.objects.create(
+                cdk=uuid.uuid1(),
+                create_time=nowTime,
+                valid_time=0,
+                is_activate=0,
+                rank_id=rank
+            )
+            book_list.append(cdmodel)
+        CDKcontextModel.objects.bulk_create(book_list)
+
+        response = ResponseObject()
+        return response.json(0)
+
+    def createCDK(self, request_dict, userID, response):
+        cdknum = request_dict.get("cdknum",None)
+        rank = request_dict.get('rank', None)
+        book_list = []
+        for i in cdknum:
+            nowTime = int(time.time())
+            cdmodel =CDKcontextModel.objects.create(
+                cdk=uuid.uuid1(),
+                create_time=nowTime,
+                valid_time=0,
+                is_activate=0,
+                rank_id=rank
+            )
+            book_list.append(cdmodel)
+        CDKcontextModel.objects.bulk_create(book_list)
+
+        response = ResponseObject()
+        return response.json(0)
+
+    def createCDK(self, request_dict, userID, response):
+        cdknum = request_dict.get("cdknum",None)
+        rank = request_dict.get('rank', None)
+        book_list = []
+        for i in cdknum:
+            nowTime = int(time.time())
+            cdmodel =CDKcontextModel.objects.create(
+                cdk=uuid.uuid1(),
+                create_time=nowTime,
+                valid_time=0,
+                is_activate=0,
+                rank_id=rank
+            )
+            book_list.append(cdmodel)
+        CDKcontextModel.objects.bulk_create(book_list)
+
+        response = ResponseObject()
+        return response.json(0)
+
+    def createCDK(self, request_dict, userID, response):
+        cdknum = request_dict.get("cdknum",None)
+        rank = request_dict.get('rank', None)
+        book_list = []
+        for i in cdknum:
+            nowTime = int(time.time())
+            cdmodel =CDKcontextModel.objects.create(
+                cdk=uuid.uuid1(),
+                create_time=nowTime,
+                valid_time=0,
+                is_activate=0,
+                rank_id=rank
+            )
+            book_list.append(cdmodel)
+        CDKcontextModel.objects.bulk_create(book_list)
+
+        response = ResponseObject()
+        return response.json(0)
+

+ 12 - 0
Model/models.py

@@ -1078,3 +1078,15 @@ class ExperienceContextModel(models.Model):
         verbose_name = '设备体验表'
         verbose_name_plural = verbose_name
 
+class CDKcontextModel(models.Model):
+    id = models.AutoField(primary_key=True)
+    cdk = models.CharField(max_length=32,unique=True,verbose_name='激活码')
+    create_time = models.IntegerField(default=0, verbose_name='创建时间')
+    valid_time = models.IntegerField(default=0, verbose_name='有效期间')  #超过有效期激活码不可在激活 ,0:永久
+    is_activate = models.SmallIntegerField(default=0, verbose_name='是否已激活') #0 未激活  1 已激活
+    rank = models.ForeignKey(Store_Meal, to_field='id', default='', on_delete=models.CASCADE, verbose_name='套餐类型')
+
+    class Meta:
+        db_table = 'cdk_context'
+        verbose_name = '激活码表'
+        verbose_name_plural = verbose_name