浏览代码

查询扫码添加设备列表 添加查询和返回字段

linhaohong 1 年之前
父节点
当前提交
7d20c3c3f7
共有 1 个文件被更改,包括 36 次插入8 次删除
  1. 36 8
      AdminController/DeviceManagementController.py

+ 36 - 8
AdminController/DeviceManagementController.py

@@ -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 = {