Переглянути джерело

激活码关联套餐语言

chenshibin 4 роки тому
батько
коміт
9a922456d5
1 змінених файлів з 15 додано та 2 видалено
  1. 15 2
      Controller/CDKController.py

+ 15 - 2
Controller/CDKController.py

@@ -38,7 +38,7 @@ 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
+from django.db.models import Q, F
 from django.http import StreamingHttpResponse
 
 SERVER_DOMAIN = 'http://test.dvema.com/'
@@ -115,7 +115,7 @@ class CDKView(View):
         cdk = request_dict.get('cdk', None)
         order = request_dict.get('order', None)
         is_activate = request_dict.get('is_activate', None)
-
+        lang = request_dict.get('lang', None)
         searchVal = ''
         if cdk:
             searchVal = cdk.strip()
@@ -133,6 +133,12 @@ class CDKView(View):
                     cdk_qs = cdk_qs.filter(order=searchVal)
                 elif is_activate:
                     cdk_qs = cdk_qs.filter(is_activate=searchVal)
+
+            if not lang:
+                lang = 'cn'
+
+            cdk_qs = cdk_qs.filter(is_activate=searchVal,rank__lang__lang=lang)
+            cdk_qs = cdk_qs.annotate(rank__title=F('rank__lang__title'))
             cdk_qs = cdk_qs.values('id', 'cdk', 'create_time', 'valid_time', 'is_activate', 'rank__id', 'rank__title', 'order',
                                    'create_time')
             cdk_qs = cdk_qs.order_by('-create_time')  # 根据CDK创建时间降序排序
@@ -155,6 +161,7 @@ class CDKView(View):
 
     def deleteCDK(self, request_dict, response):
         cdk_id = request_dict.get("id", None)
+        lang = request_dict.get("lang", None)
         try:
             CDKcontextModel.objects.get(cdk=cdk_id).delete()
         except Exception as e:
@@ -184,6 +191,12 @@ class CDKView(View):
                         cdk_qs = cdk_qs.filter(order=searchVal)
                     elif is_activate:
                         cdk_qs = cdk_qs.filter(is_activate=searchVal)
+
+                if not lang:
+                    lang = 'cn'
+
+                cdk_qs = cdk_qs.filter(is_activate=searchVal, rank__lang__lang=lang)
+                cdk_qs = cdk_qs.annotate(rank__title=F('rank__lang__title'))
                 cdk_qs = cdk_qs.values('id', 'cdk', 'create_time', 'valid_time', 'is_activate', 'rank__id',
                                        'rank__title', 'order',
                                        'create_time')