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

激活码国内外,套餐信息-语言关联

locky 4 роки тому
батько
коміт
9139f2e07a
2 змінених файлів з 36 додано та 21 видалено
  1. 12 5
      Controller/CDKController.py
  2. 24 16
      Controller/MealManage.py

+ 12 - 5
Controller/CDKController.py

@@ -81,7 +81,7 @@ class CDKView(View):
             elif operation == 'saveOrEditCDK':
                 return self.saveOrEditCDK(request_dict, response)
             elif operation == 'downloadCDK':
-                return self.downloadCDK(response)
+                return self.downloadCDK(request_dict, response)
 
     def createCDK(self, request_dict, response):
         cdk_num = request_dict.get("cdknum", None)
@@ -232,13 +232,20 @@ class CDKView(View):
         else:
             return response.json(0)
 
-    def downloadCDK(self, response):
+    def downloadCDK(self,request_dict, response):
+        region = request_dict.get('region', None)
         content = ''
-        cdk_inactivate_qs = CDKcontextModel.objects.filter(is_activate=0).values('cdk')
-        content += '激活码\n'
+        if region == 'cn':
+            # 下载国内未使用激活码
+            content += '激活码(国内)\n'
+            cdk_inactivate_qs = CDKcontextModel.objects.filter(is_activate=0, rank__bucket__mold=0).values('cdk')
+        else:
+            # 下载国外未使用激活码
+            content += '激活码(国外)\n'
+            cdk_inactivate_qs = CDKcontextModel.objects.filter(is_activate=0, rank__bucket__mold=1).values('cdk')
         for cdk_inactivate in cdk_inactivate_qs:
             content += cdk_inactivate['cdk'] + '\n'
-        print(content)
+        # print(content)
 
         response = StreamingHttpResponse(content)
         response['Content-Type'] = 'application/octet-stream'

+ 24 - 16
Controller/MealManage.py

@@ -106,7 +106,7 @@ class MealManage(View):
             bucketQs = VodBucketModel.objects.filter(id=bucketID)
             if Store_Meal.objects.filter(id=id):
                 return response.json(10, '已存在')
-            store_meal = Store_Meal(id=id, price=price, day=day, bucket_id=bucketID, commodity_code = commodity_code,
+            store_meal = Store_Meal(id=id, price=price, day=day, bucket_id=bucketID, commodity_code=commodity_code,
                                     currency=currency, virtual_price=virtual_price, is_discounts=is_discounts,
                                     discount_price=discount_price, expire=expire, symbol=symbol)
             store_meal.save()
@@ -130,7 +130,6 @@ class MealManage(View):
                     'update_time': str(store_meal.update_time)})
 
     def query(self, request_dict, response):
-
         page = int(request_dict.get('page', None))
         line = int(request_dict.get('line', None))
         lang = request_dict.get('lang', 'cn')
@@ -138,18 +137,17 @@ class MealManage(View):
             return response.json(444)
 
         qs = Store_Meal.objects.filter(lang__lang=lang)
-        qs = qs.annotate(title=F('lang__title'),content=F('lang__content'))
-        qs = qs.values("id", "price", "day", "add_time", "update_time", "currency"
-                                       , "bucket_id", "commodity_type", "commodity_code", "virtual_price", "is_discounts"
-                                       , "discount_price", "expire", "symbol"
-                                       , "bucket__bucket", "bucket__area", "bucket__storeDay", "title")
+        qs = qs.annotate(title=F('lang__title'), content=F('lang__content'))
+        qs = qs.values("id", "title", "price", "day", "add_time", "update_time", "currency", "expire", "symbol"
+                       , "commodity_type", "commodity_code", "virtual_price", "is_discounts", "discount_price"
+                       , "bucket_id", "bucket__bucket", "bucket__area", "bucket__storeDay", "bucket__mold")
         res = {}
         if qs.exists():
             ql = list(qs)
             from operator import itemgetter
             from itertools import groupby
             ql.sort(key=itemgetter('bucket__area'))
-            ql=CommonService.qs_to_list(ql[(page - 1) * line:page * line])
+            ql = CommonService.qs_to_list(ql[(page - 1) * line:page * line])
             # for area, items in groupby(ql, key=itemgetter('bucket__area')):
             items_list = list(ql)
             for key, val in enumerate(items_list):
@@ -253,15 +251,25 @@ class MealManage(View):
         # 查询套餐语言
         page = int(request_dict.get('page', None))
         line = int(request_dict.get('line', None))
+        id = request_dict.get('id', None)
         if page is None or line is None:
             return response.json(444)
 
-        # lang_qs = Lang.objects.values('id', 'lang', 'title', 'content', 'store_meal__id')
-        storeMeal_qs = Store_Meal.objects.filter(lang__isnull=False).values('id', 'lang__id', 'lang__lang', 'lang__title', 'lang__content', 'lang__discount_content')
-        count = storeMeal_qs.count()
-        lang_qs = storeMeal_qs[(page - 1) * line:page * line]
+        if id:
+            # 如果传入id,只查询id下的语言
+            storeMeal_lang_qs = Store_Meal.objects.filter(id=id, lang__isnull=False).values('id', 'lang__id',
+                                                                                            'lang__lang',
+                                                                                            'lang__title',
+                                                                                            'lang__content',
+                                                                                            'lang__discount_content')
+        else:
+            storeMeal_lang_qs = Store_Meal.objects.filter(lang__isnull=False).values('id', 'lang__id', 'lang__lang',
+                                                                                     'lang__title', 'lang__content',
+                                                                                     'lang__discount_content')
+        count = storeMeal_lang_qs.count()
+        storeMeal_lang_qs = storeMeal_lang_qs[(page - 1) * line:page * line]
         res = {
-            'datas': list(lang_qs),
+            'datas': list(storeMeal_lang_qs),
             'count': count
         }
         return response.json(0, res)
@@ -285,7 +293,7 @@ class MealManage(View):
             # 数据不存在,lang表创建数据
             Lang.objects.create(lang=lang, title=title, content=content, discount_content=discount_content)
             lang_obj = Lang.objects.filter(lang=lang, title=title, content=content, discount_content=discount_content)
-        storeMeal_qs.lang.add(*lang_obj)    # store_meal表添加语言数据
+        storeMeal_qs.lang.add(*lang_obj)  # store_meal表添加语言数据
         return response.json(0)
 
     def edit_language(self, request_dict, response):
@@ -309,7 +317,7 @@ class MealManage(View):
             # 数据不存在,lang表创建数据
             Lang.objects.create(lang=lang, title=title, content=content, discount_content=discount_content)
             lang_obj = Lang.objects.filter(lang=lang, title=title, content=content, discount_content=discount_content)
-        storeMeal_qs.lang.add(*lang_obj)    # store_meal表添加语言数据
+        storeMeal_qs.lang.add(*lang_obj)  # store_meal表添加语言数据
         return response.json(0)
 
     def delete_language(self, request_dict, response):
@@ -392,4 +400,4 @@ class MealView(View):
             }
             return response.json(0, result)
         else:
-            return response.json(0)
+            return response.json(0)