|
@@ -14,6 +14,7 @@ import traceback
|
|
|
|
|
|
from django.http import QueryDict
|
|
from django.http import QueryDict
|
|
from django.views import View
|
|
from django.views import View
|
|
|
|
+from django.core.paginator import Paginator
|
|
|
|
|
|
from AgentModel.models import AgentCustomerInfo, AgentDeviceOrder, AgentDevice, AgentCloudServicePackage
|
|
from AgentModel.models import AgentCustomerInfo, AgentDeviceOrder, AgentDevice, AgentCloudServicePackage
|
|
from Model.models import DeviceTypeModel
|
|
from Model.models import DeviceTypeModel
|
|
@@ -84,6 +85,9 @@ class AgentDeviceView(View):
|
|
status = request_dict.get('status', None)
|
|
status = request_dict.get('status', None)
|
|
serial_number = request_dict.get('serial_number', None)
|
|
serial_number = request_dict.get('serial_number', None)
|
|
|
|
|
|
|
|
+ page = int(request_dict.get('page', 1)) # 默认为第一页
|
|
|
|
+ page_size = int(request_dict.get('page_size', 10)) # 默认每页10条记录
|
|
|
|
+
|
|
agent_customer_info = AgentCustomerInfo.objects.filter(user_id=userID).first()
|
|
agent_customer_info = AgentCustomerInfo.objects.filter(user_id=userID).first()
|
|
if agent_customer_info is None:
|
|
if agent_customer_info is None:
|
|
return response.json(104, 'Agent customer not found')
|
|
return response.json(104, 'Agent customer not found')
|
|
@@ -104,9 +108,13 @@ class AgentDeviceView(View):
|
|
if serial_number:
|
|
if serial_number:
|
|
agent_device_qs = agent_device_qs.filter(serial_number=serial_number)
|
|
agent_device_qs = agent_device_qs.filter(serial_number=serial_number)
|
|
|
|
|
|
|
|
+ # 应用分页
|
|
|
|
+ paginator = Paginator(agent_device_qs, page_size)
|
|
|
|
+ current_page = paginator.get_page(page)
|
|
|
|
+
|
|
# 构造返回列表
|
|
# 构造返回列表
|
|
device_list = []
|
|
device_list = []
|
|
- for device in agent_device_qs:
|
|
|
|
|
|
+ for device in current_page:
|
|
device_type = DeviceTypeModel.objects.filter(type=device.type).first()
|
|
device_type = DeviceTypeModel.objects.filter(type=device.type).first()
|
|
device_name = device_type.name if device_type else device.type
|
|
device_name = device_type.name if device_type else device.type
|
|
device_list.append({
|
|
device_list.append({
|
|
@@ -118,7 +126,16 @@ class AgentDeviceView(View):
|
|
'at_time': device.at_time,
|
|
'at_time': device.at_time,
|
|
})
|
|
})
|
|
|
|
|
|
- return response.json(0, {'list': device_list})
|
|
|
|
|
|
+ # 包含分页信息的响应
|
|
|
|
+ response_data = {
|
|
|
|
+ 'list': device_list,
|
|
|
|
+ 'total': paginator.count,
|
|
|
|
+ 'page': current_page.number,
|
|
|
|
+ 'page_size': page_size,
|
|
|
|
+ 'num_pages': paginator.num_pages,
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return response.json(0, response_data)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|
|
return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|