Browse Source

套餐信息

locky 4 years ago
parent
commit
9ece046d08
1 changed files with 120 additions and 22 deletions
  1. 120 22
      AdminController/ServeManagementController.py

+ 120 - 22
AdminController/ServeManagementController.py

@@ -50,6 +50,8 @@ class serveManagement(View):
                 return self.addOrEditVodBucket(userID, request_dict, response)
             elif operation == 'deleteVodBucket':
                 return self.deleteVodBucket(userID, request_dict, response)
+            elif operation == 'getStoreMealList':
+                return self.getStoreMealList(userID, request_dict, response)
             elif operation == 'getCdkList':
                 return self.getCdkList(userID, request_dict, response)
             elif operation == 'createCdk':
@@ -61,15 +63,21 @@ class serveManagement(View):
             elif operation == 'getDeviceOrderList':
                 return self.getDeviceOrderList(request_dict, response)
             elif operation == 'deleteDeviceOrder':
-                return self.deleteDeviceOrder(userID,request_dict, response)
+                return self.deleteDeviceOrder(userID, request_dict, response)
             else:
                 return response.json(404)
 
-
     def getVodBucketList(self, userID, request_dict, response):
         # 查询存储桶数据
         print('request_dict: ', request_dict)
 
+        isSelect = request_dict.get('isSelect', None)
+        if isSelect:
+            # 获取全部数据作为存储桶选项
+            vod_bucket_qs = VodBucketModel.objects.all().values('id', 'bucket')
+            return response.json(
+                0, {'list': CommonService.qs_to_list(vod_bucket_qs)})
+
         bucket = request_dict.get('bucket', None)
         mold = request_dict.get('mold', None)
         is_free = request_dict.get('is_free', None)
@@ -178,6 +186,80 @@ class serveManagement(View):
             print(e)
             return response.json(500, repr(e))
 
+    def getStoreMealList(self, userID, request_dict, response):
+        # 获取云存套餐信息数据
+        print('request_dict: ', request_dict)
+        bucket = request_dict.get('bucket', None)
+        mold = request_dict.get('mold', None)
+        is_free = request_dict.get('is_free', None)
+        pageNo = request_dict.get('pageNo', None)
+        pageSize = request_dict.get('pageSize', None)
+
+        if not all([pageNo, pageSize]):
+            return response.json(444)
+
+        page = int(pageNo)
+        line = int(pageSize)
+        try:
+            # if bucket or mold or is_free:   # 条件查询
+            #     if bucket:
+            #         vod_bucket_qs = VodBucketModel.objects.filter(
+            #             bucket=bucket)
+            #     elif mold:
+            #         vod_bucket_qs = VodBucketModel.objects.filter(
+            #             mold=int(mold))
+            #     elif is_free:
+            #         vod_bucket_qs = VodBucketModel.objects.filter(
+            #             is_free=int(is_free))
+            # else:   # 查询全部
+            store_meal_qs = Store_Meal.objects.filter().values(
+                'id',
+                'bucket__bucket',
+                'day',
+                'expire',
+                'commodity_type',
+                # 'pay_type',
+                'commodity_code',
+                'is_discounts',
+                'discount_price',
+                'virtual_price',
+                'price',
+                'currency',
+                'symbol',
+                'is_show',
+                'add_time',
+                'update_time')
+            total = len(store_meal_qs)
+            store_meals = store_meal_qs[(page - 1) * line:page * line]
+            store_meal_list = pay_type_list = []
+            for store_meal in store_meals:
+                pay_type_list = [
+                    pay_type['id'] for pay_type in Store_Meal.objects.get(
+                        id=store_meal['id']).pay_type.values('id')]
+                store_meal_list.append({
+                    'store_meal_id': store_meal['id'],
+                    'bucket': store_meal['bucket__bucket'],
+                    'day': store_meal['day'],
+                    'expire': store_meal['expire'],
+                    'commodity_type': store_meal['commodity_type'],
+                    'pay_type': pay_type_list,
+                    'commodity_code': store_meal['commodity_code'],
+                    'is_discounts': store_meal['is_discounts'],
+                    'discount_price': store_meal['discount_price'],
+                    'virtual_price': store_meal['virtual_price'],
+                    'price': store_meal['price'],
+                    'currency': store_meal['currency'],
+                    'symbol': store_meal['symbol'],
+                    'is_show': store_meal['is_show'],
+                    'addTime': store_meal['add_time'].strftime("%Y-%m-%d %H:%M:%S"),
+                    'updTime': store_meal['update_time'].strftime("%Y-%m-%d %H:%M:%S"),
+                })
+            print('store_meal_list: ', store_meal_list)
+            return response.json(
+                0, {'list': store_meal_list, 'total': total})
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
 
     def getCdkList(self, userID, request_dict, response):
         # 获取激活码列表
@@ -211,12 +293,19 @@ class serveManagement(View):
             if mold:
                 cdk_qs = cdk_qs.filter(rank__bucket__mold=mold)
 
-
             cdk_qs = cdk_qs.filter(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','rank__bucket__mold')
+            cdk_qs = cdk_qs.values(
+                'id',
+                'cdk',
+                'create_time',
+                'valid_time',
+                'is_activate',
+                'rank__id',
+                'rank__title',
+                'order',
+                'create_time',
+                'rank__bucket__mold')
             cdk_qs = cdk_qs.order_by('-create_time')  # 根据CDK创建时间降序排序
             count = cdk_qs.count()
             cdk_qs = cdk_qs[(page - 1) * line:page * line]
@@ -231,12 +320,14 @@ class serveManagement(View):
         mold = request_dict.get('mold', None)
         order = request_dict.get('order', None)
         cdk_list = []
-        sm_qs = Store_Meal.objects.filter(pay_type__payment='cdk_pay',bucket__mold=mold)
+        sm_qs = Store_Meal.objects.filter(
+            pay_type__payment='cdk_pay', bucket__mold=mold)
         if sm_qs.exists:
             rank = sm_qs[0].id
             for i in range(int(cdk_num)):
                 nowTime = int(time.time())
-                cdk = hashlib.md5((str(uuid.uuid1()) + str(nowTime)).encode('utf-8')).hexdigest()
+                cdk = hashlib.md5((str(uuid.uuid1()) +
+                                   str(nowTime)).encode('utf-8')).hexdigest()
                 cdk_model = CDKcontextModel(
                     cdk=cdk,
                     create_time=nowTime,
@@ -264,17 +355,19 @@ class serveManagement(View):
         except Exception as e:
             return response.json(500, repr(e))
 
-    def downloadCDK(self,request_dict, response):
+    def downloadCDK(self, request_dict, response):
         region = request_dict.get('region', None)
         content = ''
         if region == 'cn':
             # 下载国内未使用激活码
             content += '激活码(国内)\n'
-            cdk_inactivate_qs = CDKcontextModel.objects.filter(is_activate=0, rank__bucket__mold=0).values('cdk')
+            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')
+            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)
@@ -322,12 +415,21 @@ class serveManagement(View):
 
             count = omqs.count()
 
-            order_ql = omqs.values("orderID", "UID", "userID__username", "channel",
-                                                                  "desc", "price",
-                                                                  "currency", "addTime", "updTime", "paypal",
-                                                                  "payType",
-                                                                  "rank__day",
-                                                                  "rank__price", "status")
+            order_ql = omqs.values(
+                "orderID",
+                "UID",
+                "userID__username",
+                "channel",
+                "desc",
+                "price",
+                "currency",
+                "addTime",
+                "updTime",
+                "paypal",
+                "payType",
+                "rank__day",
+                "rank__price",
+                "status")
             order_ql = order_ql.order_by('-addTime')  # 根据CDK创建时间降序排序
             order_ql = order_ql[(page - 1) * line:page * line]
             return response.json(
@@ -336,8 +438,7 @@ class serveManagement(View):
             print(e)
             return response.json(500, repr(e))
 
-
-    def deleteDeviceOrder(self,userID,request_dict, response):
+    def deleteDeviceOrder(self, userID, request_dict, response):
         orderID = request_dict.get('orderID', None)
 
         if orderID:
@@ -345,6 +446,3 @@ class serveManagement(View):
             return response.json(0)
         else:
             return response.json(444)
-
-
-