|
@@ -1145,6 +1145,8 @@ class DeviceManagement(View):
|
|
|
order_number = request_dict.get('orderNumber')
|
|
|
name = request_dict.get('name')
|
|
|
email = request_dict.get('email')
|
|
|
+ serial_number = request_dict.get('serialNumber')
|
|
|
+ uid = request_dict.get('uid')
|
|
|
page = int(request_dict.get('pageNo', 1))
|
|
|
page_size = int(request_dict.get('pageSize', 10))
|
|
|
|
|
@@ -1166,21 +1168,47 @@ class DeviceManagement(View):
|
|
|
# 查询设备列表
|
|
|
customer_device_qs = CustomCustomerDevice.objects.filter(c_id__in=c_id_list).order_by('-created_time')
|
|
|
|
|
|
+ # 通过serial_number和uid进行过滤
|
|
|
+ if serial_number:
|
|
|
+ customer_device_qs = customer_device_qs.filter(serial_number__icontains=serial_number)
|
|
|
+ if uid:
|
|
|
+ customer_device_qs = customer_device_qs.filter(uid=uid)
|
|
|
+
|
|
|
# 分页处理
|
|
|
paginator = Paginator(customer_device_qs, page_size)
|
|
|
customer_device_page = paginator.get_page(page)
|
|
|
|
|
|
+ # 创建一个字典来映射 c_id 到 CustomCustomerOrderInfo 对象
|
|
|
+ customer_order_map = {order.id: order for order in custom_customer_qs}
|
|
|
+
|
|
|
# 构建设备列表
|
|
|
customer_device_list = []
|
|
|
for device in customer_device_page.object_list:
|
|
|
- customer_device_list.append({
|
|
|
- 'id': device.id,
|
|
|
- 'serialNumber': device.serial_number,
|
|
|
- 'uid': device.uid,
|
|
|
- 'deviceType': device.type,
|
|
|
- 'fullCode': device.full_code,
|
|
|
- 'addTime': device.created_time,
|
|
|
- })
|
|
|
+ customer_order = customer_order_map.get(device.c_id)
|
|
|
+ if customer_order:
|
|
|
+ customer_device_list.append({
|
|
|
+ 'id': device.id,
|
|
|
+ 'serialNumber': device.serial_number,
|
|
|
+ 'uid': device.uid,
|
|
|
+ 'deviceType': device.type,
|
|
|
+ 'fullCode': device.full_code,
|
|
|
+ 'addTime': device.created_time,
|
|
|
+ 'orderNumber': customer_order.order_number,
|
|
|
+ 'name': customer_order.name,
|
|
|
+ 'email': customer_order.email,
|
|
|
+ })
|
|
|
+ else:
|
|
|
+ customer_device_list.append({
|
|
|
+ 'id': device.id,
|
|
|
+ 'serialNumber': device.serial_number,
|
|
|
+ 'uid': device.uid,
|
|
|
+ 'deviceType': device.type,
|
|
|
+ 'fullCode': device.full_code,
|
|
|
+ 'addTime': device.created_time,
|
|
|
+ 'orderNumber': "",
|
|
|
+ 'name': "",
|
|
|
+ 'email': "",
|
|
|
+ })
|
|
|
|
|
|
# 构造返回数据
|
|
|
data = {
|