Quellcode durchsuchen

添加设备UID查询/字段;

guanhailong vor 2 Jahren
Ursprung
Commit
7162d12a18
1 geänderte Dateien mit 26 neuen und 15 gelöschten Zeilen
  1. 26 15
      AdminController/UnicomManageController.py

+ 26 - 15
AdminController/UnicomManageController.py

@@ -9,7 +9,7 @@ import time
 from django.db import transaction
 from django.views.generic.base import View
 
-from Model.models import UnicomDeviceInfo, UnicomCombo, Pay_Type, UnicomComboOrderInfo, Device_User
+from Model.models import UnicomDeviceInfo, UnicomCombo, Pay_Type, UnicomComboOrderInfo, Device_User, Device_Info
 from Object.ResponseObject import ResponseObject
 
 
@@ -101,7 +101,7 @@ class UnicomManageControllerView(View):
                     'serialNo': unicom_device.serial_no,
                     'userID': unicom_device.user_id,
                     'cardType': unicom_device.card_type,
-                    'status':unicom_device.status,
+                    'status': unicom_device.status,
                     'mainCard': unicom_device.main_card,
                     'createdTime': unicom_device.created_time,
                     'updatedTime': unicom_device.updated_time
@@ -115,7 +115,6 @@ class UnicomManageControllerView(View):
             print(e)
             return response.json(500, repr(e))
 
-
     @staticmethod
     def get_order_info(request_dict, response):
         """
@@ -125,6 +124,7 @@ class UnicomManageControllerView(View):
         @return:
         serial_no 设备序列号
         """
+        UID = request_dict.get('uid', None)
         serial_no = request_dict.get('serialNo', None)
         status = request_dict.get('status', None)
         pageNo = request_dict.get('pageNo', None)
@@ -137,19 +137,26 @@ class UnicomManageControllerView(View):
 
         try:
             combo_order_info_qs = UnicomComboOrderInfo.objects.all()
+            # 筛选查询
             if serial_no:
-                unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no__icontains=serial_no).values('serial_no', 'user_id',
-                                                                                               'iccid')
+                unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no__icontains=serial_no).values('serial_no',
+                                                                                                          'user_id',
+                                                                                                          'iccid')
+                if not unicom_device_qs.exists():
+                    return response.json(0, [])
+                combo_order_info_qs = combo_order_info_qs.filter(iccid__icontains=unicom_device_qs[0]['iccid'])
+            if UID:
+                device_qs = Device_Info.objects.filter(UID=UID).values('serial_number').distinct()
+                if not device_qs.exists():
+                    return response.json(0, [])
+                unicom_device_qs = UnicomDeviceInfo.objects.filter(
+                    serial_no__icontains=device_qs[0]['serial_number']).values('serial_no', 'user_id', 'iccid')
                 if not unicom_device_qs.exists():
                     return response.json(0, [])
                 combo_order_info_qs = combo_order_info_qs.filter(iccid__icontains=unicom_device_qs[0]['iccid'])
             if status:
                 status = int(status)
-                unicom_device_qs = UnicomDeviceInfo.objects.filter().values('serial_no', 'user_id',
-                                                                            'iccid').distinct()
                 combo_order_info_qs = combo_order_info_qs.filter(status=status)
-                if not unicom_device_qs.exists():
-                    return response.json(0, [])
             if not combo_order_info_qs.exists():
                 return response.json(0, [])
             total = combo_order_info_qs.count()
@@ -158,6 +165,7 @@ class UnicomManageControllerView(View):
             for combo_order in combo_order_info_qs:
                 data = {'userName': '',
                         'serialNo': '',
+                        'UID': '',
                         'iccid': combo_order.iccid,
                         'status': combo_order.status,
                         'order_id': combo_order.order_id,
@@ -169,14 +177,16 @@ class UnicomManageControllerView(View):
                         'updated_time': combo_order.updated_time}
                 unicom_combo_qs = UnicomCombo.objects.filter(id=combo_order.combo_id).values('combo_name')
                 data['comboName'] = unicom_combo_qs[0]['combo_name'] if unicom_combo_qs.exists() else ''
-                iccid = combo_order.iccid
-                unicom_device_qs = UnicomDeviceInfo.objects.filter(iccid__icontains=iccid).values('user_id', 'serial_no')
-                userID = unicom_device_qs[0]['user_id']
+                unicom_device_qs = UnicomDeviceInfo.objects.filter(iccid__icontains=combo_order.iccid).values('user_id',
+                                                                                                              'serial_no')
+                userID = unicom_device_qs[0]['user_id'] if unicom_device_qs.exists() else ''
                 device_user = Device_User.objects.filter(userID=userID).values('username')
                 if device_user.exists():
                     nick_name = device_user[0]['username']
                     data['userName'] = nick_name
-                data['serialNo'] = unicom_device_qs[0]['serial_no']
+                data['serialNo'] = unicom_device_qs[0]['serial_no'] if unicom_device_qs.exists() else ''
+                device_qs = Device_Info.objects.filter(serial_number=unicom_device_qs[0]['serial_no']).values('UID')
+                data['UID'] = device_qs[0]['UID'] if device_qs.exists() else ''
                 data_list.append(data)
             return response.json(0, {'list': data_list, 'total': total})
         except Exception as e:
@@ -279,7 +289,8 @@ class UnicomManageControllerView(View):
                                                     'expiration_days',
                                                     'expiration_type', 'price', 'is_unlimited',
                                                     'updated_time', 'created_time',
-                                                    'remark', 'is_show', 'sort', 'virtual_price')[(page - 1) * line:page * line]
+                                                    'remark', 'is_show', 'sort', 'virtual_price')[
+                       (page - 1) * line:page * line]
             if not combo_qs.exists():
                 return response.json(0, [])
             total = combo_qs.count()
@@ -304,7 +315,7 @@ class UnicomManageControllerView(View):
                     'remark': item['remark'],
                     'isShow': item['is_show'],
                     'payTypes': pay_type_list,
-                    'virtualPrice':item['virtual_price']
+                    'virtualPrice': item['virtual_price']
                 })
             return response.json(0, {'list': combo_list, 'total': total})
         except Exception as e: