Prechádzať zdrojové kódy

查询AI信息返回订单号

peng 1 rok pred
rodič
commit
948f6f1fa8
1 zmenil súbory, kde vykonal 31 pridanie a 3 odobranie
  1. 31 3
      AdminController/AiServeController.py

+ 31 - 3
AdminController/AiServeController.py

@@ -5,7 +5,7 @@ import time
 from django.db.models import F
 from django.views.generic.base import View
 
-from Model.models import Lang, AiStoreMeal, AiService, Order_Model, Device_User, CountryModel, UidSetModel
+from Model.models import Lang, AiStoreMeal, AiService, Order_Model, Device_User, CountryModel, UidSetModel, Device_Info
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -305,6 +305,8 @@ class AiServeView(View):
         pageNo = request_dict.get('pageNo', None)
         pageSize = request_dict.get('pageSize', None)
         uid = request_dict.get('uid', None)
+        order_id = request_dict.get('orderId', None)
+        serialNumber = request_dict.get('serialNumber', None)
         if not all([pageNo, pageSize]):
             return response.json(444)
 
@@ -314,7 +316,12 @@ class AiServeView(View):
             ai_service_qs = AiService.objects.all()
             if uid:
                 ai_service_qs = ai_service_qs.filter(uid__contains=uid)
-
+            if serialNumber:
+                device_info_qs = Device_Info.objects.filter(serial_number=serialNumber).values('UID')
+                uid = device_info_qs[0]['UID'] if device_info_qs.exists() else 'N/A'
+                ai_service_qs = ai_service_qs.filter(uid__icontains=uid)
+            if order_id:
+                ai_service_qs = ai_service_qs.filter(orders_id=order_id)
             if not ai_service_qs.exists():
                 return response.json(0, [])
 
@@ -327,12 +334,33 @@ class AiServeView(View):
                 'use_status',
                 'detect_status',
                 'detect_group',
+                'orders_id',
                 'endTime',
                 'addTime',
                 'updTime', 'user_name').order_by('-addTime')
             ai_service_qs = ai_service_qs[(page - 1) * line:page * line]
+            ai_service_list = []
+            for ai_service in ai_service_qs:
+                data = {
+                    'id': ai_service['id'],
+                    'uid': ai_service['uid'],
+                    'channel': ai_service['channel'],
+                    'use_status': ai_service['use_status'],
+                    'detect_status': ai_service['detect_status'],
+                    'detect_group': ai_service['detect_group'],
+                    'endTime': ai_service['endTime'],
+                    'addTime': ai_service['addTime'],
+                    'updTime': ai_service['updTime'],
+                    'user_name': ai_service['user_name'],
+                    'order_id': ai_service['orders_id'],
+                    'serial_number': 'N/A'
+                }
+                device_info_qs = Device_Info.objects.filter(UID=ai_service['uid']).values('serial_number')
+                if device_info_qs.exists():
+                    data['serial_number'] = device_info_qs[0]['serial_number'] if device_info_qs[0]['serial_number'] else 'N/A'
+                ai_service_list.append(data)
             return response.json(
-                0, {'list': list(ai_service_qs), 'total': count})
+                0, {'list': ai_service_list, 'total': count})
         except Exception as e:
             print(e)
             return response.json(500, repr(e))