Ver Fonte

查询所有代理云服务套餐

linhaohong há 1 ano atrás
pai
commit
8a0d8fae60

+ 49 - 0
AdminController/CloudServiceManage/AgentCustomerController.py

@@ -52,6 +52,17 @@ class AgentCustomerView(View):
             return self.get_unicom_and_icloud(response)
         else:
             return response.json(444, 'operation')
+            tko = TokenObject(
+                request.META.get('HTTP_AUTHORIZATION'),
+                returntpye='pc')
+            if tko.code != 0:
+                return response.json(tko.code)
+            response.lang = tko.lang
+            userID = tko.userID
+            if operation == 'getAgentServicePackage':
+                return self.get_agent_service_package(request_dict, response)
+            else:
+                return response.json(444, 'operation')
 
     def get_unicom_and_icloud(self, response):
         """
@@ -78,3 +89,41 @@ class AgentCustomerView(View):
         except Exception as e:
             print(e)
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+
+    def get_agent_service_package(self, request_dict, response):
+        """
+        查询所有代理云服务套餐
+        @param request_dict: 请求参数
+        @request_dict page: 页码
+        @request_dict page_size: 查询分页数
+        @param userID: userID
+        @param response: 响应对象
+        @return:
+        """
+        page = request_dict.get('page', 1)
+        page_size = request_dict.get('page_size', 10)
+        try:
+            # 查询所有有效的代理云服务套餐
+            all_packages = AgentCloudServicePackage.objects.filter(status=1).order_by('-created_time')
+            # 创建分页对象
+            paginator = Paginator(all_packages, page_size)
+            # 获取请求页的数据
+            packages_page = paginator.page(page)
+            # 准备响应数据,转换查询集为列表形式
+            packages_list = list(packages_page.object_list.values(
+                'id', 'service_name', 'package_id', 'type',
+                'profit_type', 'cost', 'profit', 'status',
+                'created_time', 'updated_time'
+            ))
+            # 返回分页数据
+            return response.json(0,{
+                'page': page,
+                'page_size': page_size,
+                'total': paginator.count,
+                'num_pages': paginator.num_pages,
+                'packages': packages_list
+            })
+        except Exception as e:
+            # 出错时返回错误信息
+            return response.json({'error': str(e)}, status=500)
+