locky 4 жил өмнө
parent
commit
f9e2f27c33

+ 3 - 2
Ansjer/urls.py

@@ -249,13 +249,14 @@ urlpatterns = [
     # 语音提示
     # 语音提示
     url(r'^voicePrompt/(?P<operation>.*)$', VoicePromptController.VoicePromptView.as_view()),
     url(r'^voicePrompt/(?P<operation>.*)$', VoicePromptController.VoicePromptView.as_view()),
 
 
+    # cdk(激活码)
+    url(r'^cdk/(?P<operation>.*)$', CDKController.CDKView.as_view()),
+
     # app 设备消息模板
     # app 设备消息模板
     # 路由加参数参考
     # 路由加参数参考
     # url(r'^(?P<path>.*)/(?P<UID>.*)/lls$', Test.Test.as_view(), name=u'gg'),
     # url(r'^(?P<path>.*)/(?P<UID>.*)/lls$', Test.Test.as_view(), name=u'gg'),
     #testing....................
     #testing....................
     re_path('(?P<path>.*)', LogManager.errorPath),
     re_path('(?P<path>.*)', LogManager.errorPath),
 
 
-    # cdk(激活码)
-    url(r'^cdk/(?P<operation>.*)$', CDKController.CDKView.as_view()),
 
 
 ]
 ]

+ 106 - 86
Controller/CDKController.py

@@ -28,7 +28,8 @@ 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, \
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
     SERVER_DOMAIN_SSL
     SERVER_DOMAIN_SSL
-from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, ExperienceContextModel, CDKcontextModel
+from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
+    ExperienceContextModel, CDKcontextModel
 from Object.AliPayObject import AliPayObject
 from Object.AliPayObject import AliPayObject
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
@@ -40,6 +41,7 @@ from django.db.models import Q
 
 
 SERVER_DOMAIN = 'http://test.dvema.com/'
 SERVER_DOMAIN = 'http://test.dvema.com/'
 
 
+
 # 设备信息添加
 # 设备信息添加
 class CDKView(View):
 class CDKView(View):
 
 
@@ -55,6 +57,17 @@ class CDKView(View):
 
 
     def validation(self, request_dict, request, operation):
     def validation(self, request_dict, request, operation):
         response = ResponseObject()
         response = ResponseObject()
+        if operation == 'createCDK':
+            return self.createCDK(request_dict, response)
+        elif operation == 'deleteCDK':
+            return self.deleteCDK(request_dict, response)
+        elif operation == 'queryCDK':
+            return self.queryCDK(request_dict, response)
+        elif operation == 'saveOrEditCDKform':
+            return self.saveOrEditCDKform(request_dict, response)
+        elif operation == 'saveOrEditCDK':
+            return self.saveOrEditCDK(request_dict, response)
+
         if operation is None:
         if operation is None:
             return response.json(444, 'error path')
             return response.json(444, 'error path')
         else:
         else:
@@ -66,98 +79,105 @@ class CDKView(View):
                 return response.json(tko.code)
                 return response.json(tko.code)
             userID = tko.userID
             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)
+    def createCDK(self, request_dict, response):
+        cdk_num = request_dict.get("cdknum", None)
         rank = request_dict.get('rank', None)
         rank = request_dict.get('rank', None)
-        book_list = []
-        for i in cdknum:
+        order = request_dict.get('order', None)
+        cdk_list = []
+        for i in cdk_num:
             nowTime = int(time.time())
             nowTime = int(time.time())
-            cdmodel =CDKcontextModel.objects.create(
+            cdk_model = CDKcontextModel.objects.create(
                 cdk=uuid.uuid1(),
                 cdk=uuid.uuid1(),
                 create_time=nowTime,
                 create_time=nowTime,
                 valid_time=0,
                 valid_time=0,
                 is_activate=0,
                 is_activate=0,
-                rank_id=rank
+                rank_id=rank,
+                order=order,
             )
             )
-            book_list.append(cdmodel)
-        CDKcontextModel.objects.bulk_create(book_list)
-
-        response = ResponseObject()
-        return response.json(0)
+            cdk_list.append(cdk_model)
+        try:
+            CDKcontextModel.objects.bulk_create(cdk_list)
+        except Exception as e:
+            print(repr(e))
+            return response.json(404, repr(e))
+        else:
+            return response.json(0)
+
+    def queryCDK(self, request_dict, response):
+        page = int(request_dict.get('page', None))
+        line = int(request_dict.get('line', None))
+        # channel = request_dict.get('channel', None)
+        cdk = request_dict.get('cdk', None)
+        order = request_dict.get('order', None)
+        is_activate = request_dict.get('is_activate', None)
+
+        searchVal = ''
+        if cdk:
+            searchVal = cdk.strip()
+        elif order:
+            searchVal = order.strip()
+        elif is_activate:
+            searchVal = is_activate.strip()
+
+        if page and line:
+            cdk_qs = CDKcontextModel.objects.filter().all()  # values('cdk','create_time','valid_time','is_activate','rank__id','order__id')
+            if searchVal:
+                if cdk:
+                    cdk_qs = cdk_qs.filter(cdk=searchVal)
+                elif order:
+                    cdk_qs = cdk_qs.filter(order=searchVal)
+                elif is_activate:
+                    cdk_qs = cdk_qs.filter(is_activate=searchVal)
+            cdk_qs = cdk_qs.values('id', 'cdk', 'create_time', 'valid_time', 'is_activate', 'title__rank__id', 'order',
+                                   'create_time')
+            cdk_qs = cdk_qs.order_by('-create_time')  # 根据CDK创建时间降序排序
+            count = cdk_qs.count()
+            cdk_qs = cdk_qs[(page - 1) * line:page * line]
+
+            cdk_dict = {}
+            for cdk in cdk_qs:
+                cdk_dict[cdk['id']] = {'id': cdk['id'], 'cdk': cdk['cdk'], 'create_time': cdk['create_time'],
+                                       'valid_time': cdk['valid_time'], 'is_activate': cdk['is_activate'],
+                                       'rank': cdk['title__rank__id'], 'order': cdk['order']}
+
+            res = {
+                'cdk_list': cdk_dict,
+                'count': count
+            }
+            return response.json(0, res)
+        else:
+            return response.json(444, 'page,line')
+
+    def deleteCDK(self, request_dict, response):
+        cdk_id = request_dict.get("id", None)
+        try:
+            CDKcontextModel.objects.get(id=cdk_id).delete()
+        except Exception as e:
+            return response.json(404, repr(e))
+        else:
+            return response.json(0)
 
 
-    def createCDK(self, request_dict, userID, response):
-        cdknum = request_dict.get("cdknum",None)
+    def saveOrEditCDK(self, request_dict, response):
+        cdk_id = request_dict.get("id", None)
+        cdk = request_dict.get('cdk', None)
+        valid_time = request_dict.get('valid_time', None)
+        is_activate = request_dict.get('is_activate', None)
         rank = request_dict.get('rank', 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)
 
 
+        try:
+            if cdk_id:
+                if cdk or valid_time or is_activate or rank:
+                    update_dict = {}
+                    if cdk:
+                        update_dict['cdk'] = cdk
+                    if valid_time:
+                        update_dict['valid_time'] = valid_time
+                    if is_activate:
+                        update_dict['is_activate'] = is_activate
+                    if rank:
+                        update_dict['rank'] = rank
+                    CDKcontextModel.objects.filter(id=cdk_id).update(**update_dict)
+        except Exception as e:
+            return response.json(404, repr(e))
+        else:
+            return response.json(0)

+ 2 - 0
Model/models.py

@@ -1102,6 +1102,8 @@ class CDKcontextModel(models.Model):
     valid_time = models.IntegerField(default=0, verbose_name='有效期间')  #超过有效期激活码不可在激活 ,0:永久
     valid_time = models.IntegerField(default=0, verbose_name='有效期间')  #超过有效期激活码不可在激活 ,0:永久
     is_activate = models.SmallIntegerField(default=0, verbose_name='是否已激活') #0 未激活  1 已激活
     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='套餐类型')
     rank = models.ForeignKey(Store_Meal, to_field='id', default='', on_delete=models.CASCADE, verbose_name='套餐类型')
+    # order = models.ForeignKey(Order_Model, blank=True, max_length=20, to_field='orderID', on_delete=models.CASCADE, verbose_name='订单id', unique=True)
+    order = models.CharField(max_length=20, blank=True, unique=True, verbose_name='订单id')
 
 
     class Meta:
     class Meta:
         db_table = 'cdk_context'
         db_table = 'cdk_context'