Bläddra i källkod

优化查询所有代理云服务套餐返回列表

linhaohong 1 år sedan
förälder
incheckning
d819f960e4
1 ändrade filer med 24 tillägg och 6 borttagningar
  1. 24 6
      AdminController/CloudServiceManage/AgentCustomerController.py

+ 24 - 6
AdminController/CloudServiceManage/AgentCustomerController.py

@@ -198,18 +198,36 @@ class AgentCustomerView(View):
             # 获取请求页的数据
             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'
-            ))
+            agents_list = []
+            for agent_info in packages_page:
+                package_name = agent_info.package_id
+                if agent_info.type == 1:
+                    store_meals = Store_Meal.objects.filter(id=agent_info.package_id).values('bucket__bucket').first()
+                    if store_meals:
+                        package_name = store_meals['bucket__bucket']
+                else:
+                    unicom_combos = UnicomCombo.objects.filter(id=agent_info.package_id).first()
+                    if unicom_combos:
+                        package_name = unicom_combos.combo_name
+                agents = {
+                    'id': agent_info.id,
+                    'service_name': agent_info.service_name,
+                    'package_name': package_name,
+                    'type': agent_info.type,
+                    'profit_type': agent_info.profit_type,
+                    'cost': agent_info.cost,
+                    'profit': agent_info.profit,
+                    'status': agent_info.status,
+                    'created_time': agent_info.created_time
+                }
+                agents_list.append(agents)
             # 返回分页数据
             return response.json(0, {
                 'page': page,
                 'page_size': page_size,
                 'total': paginator.count,
                 'num_pages': paginator.num_pages,
-                'list': packages_list
+                'list': agents_list
             })
         except Exception as e:
             # 出错时返回错误信息