Browse Source

联通测试服,完善联通测试后台管理功能(获取/筛选设备套餐信息接口)

guanhailong 3 years ago
parent
commit
19a78c3975
1 changed files with 22 additions and 18 deletions
  1. 22 18
      AdminController/UnicomManageController.py

+ 22 - 18
AdminController/UnicomManageController.py

@@ -40,7 +40,7 @@ class UnicomComboView(View):
         # 获取卡用户信息
         # 获取卡用户信息
         elif operation == 'get/user':
         elif operation == 'get/user':
             return self.get_user_combo(request_dict, response)
             return self.get_user_combo(request_dict, response)
-        # 获取设备套餐信息
+        # 获取/筛选设备套餐信息
         elif operation == 'order/info':
         elif operation == 'order/info':
             return self.get_order_info(request_dict, response)
             return self.get_order_info(request_dict, response)
         # 统计4G套餐
         # 统计4G套餐
@@ -173,7 +173,7 @@ class UnicomComboView(View):
     @staticmethod
     @staticmethod
     def get_order_info(request_dict, response):
     def get_order_info(request_dict, response):
         """
         """
-        获取设备套餐信息
+        获取/筛选设备套餐信息
         @param request_dict:
         @param request_dict:
         @param response:
         @param response:
         @return:
         @return:
@@ -191,28 +191,28 @@ class UnicomComboView(View):
 
 
         try:
         try:
             combo_order_info_qs = UnicomComboOrderInfo.objects.all()
             combo_order_info_qs = UnicomComboOrderInfo.objects.all()
-            if serial_no or status:
-                if serial_no:
-                    unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no).values('iccid',
-                                                                                                   'serial_no',
-                                                                                                   'user_id').distinct()
-                else:
-                    unicom_device_qs = UnicomDeviceInfo.objects.filter(status=status).values('iccid', 'serial_no',
-                                                                                             'user_id').distinct()
+            if serial_no:
+                unicom_device_qs = UnicomDeviceInfo.objects.filter(serial_no=serial_no).values('serial_no', 'user_id',
+                                                                                               'iccid')
                 if not unicom_device_qs.exists():
                 if not unicom_device_qs.exists():
                     return response.json(0, [])
                     return response.json(0, [])
-            else:
-                if not combo_order_info_qs.exists():
+                combo_order_info_qs = combo_order_info_qs.filter(iccid=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, [])
                     return response.json(0, [])
-                unicom_device_qs = UnicomDeviceInfo.objects.filter().values('user_id', 'iccid',
-                                                                            'serial_no')
+            if not combo_order_info_qs.exists():
+                return response.json(0, [])
             combo_order_info_qs = combo_order_info_qs.order_by('-created_time')[(page - 1) * line:page * line]
             combo_order_info_qs = combo_order_info_qs.order_by('-created_time')[(page - 1) * line:page * line]
             total = combo_order_info_qs.count()
             total = combo_order_info_qs.count()
             data_list = []
             data_list = []
             for combo_order in combo_order_info_qs:
             for combo_order in combo_order_info_qs:
                 data = {'nickName': '',
                 data = {'nickName': '',
+                        'serialNo':'',
                         'iccid': combo_order.iccid,
                         'iccid': combo_order.iccid,
-                        'serialNo': '',
                         'status': combo_order.status,
                         'status': combo_order.status,
                         'order_id': combo_order.order_id,
                         'order_id': combo_order.order_id,
                         'comboName': combo_order.combo.combo_name,
                         'comboName': combo_order.combo.combo_name,
@@ -221,12 +221,16 @@ class UnicomComboView(View):
                         'activationTime': combo_order.activation_time,
                         'activationTime': combo_order.activation_time,
                         'expireTime': combo_order.expire_time,
                         'expireTime': combo_order.expire_time,
                         'createdTime': combo_order.created_time}
                         'createdTime': combo_order.created_time}
-                for unicom_device in unicom_device_qs:
-                    userID = unicom_device['user_id']
+                iccid = combo_order.iccid
+                unicom_device_qs = UnicomDeviceInfo.objects.filter(iccid=iccid).values('user_id', 'serial_no')
+                # if not unicom_device_qs.exists():
+                #     return response.json(0, [])
+                userID = unicom_device_qs[0]['user_id']
+                if userID:
                     device_user = Device_User.objects.filter(userID=userID).values('NickName')
                     device_user = Device_User.objects.filter(userID=userID).values('NickName')
                     nick_name = device_user[0]['NickName']
                     nick_name = device_user[0]['NickName']
-                    data['serialNo'] = unicom_device['serial_no']
                     data['nickName'] = nick_name
                     data['nickName'] = nick_name
+                data['serialNo'] = unicom_device_qs[0]['serial_no']
                 data_list.append(data)
                 data_list.append(data)
             return response.json(0, {'list': data_list, 'total': total})
             return response.json(0, {'list': data_list, 'total': total})
         except Exception as e:
         except Exception as e: