瀏覽代碼

设备信息新增套餐状态;中间件添加日志

guanhailong 2 年之前
父節點
當前提交
538b0c7ae4
共有 3 個文件被更改,包括 33 次插入12 次删除
  1. 16 4
      AdminController/DeviceManagementController.py
  2. 16 7
      MiddleWare/requestRecord.py
  3. 1 1
      Model/models.py

+ 16 - 4
AdminController/DeviceManagementController.py

@@ -241,10 +241,8 @@ class DeviceManagement(View):
                             isHuman = '是' if uid_set_qs[0]['is_human'] else '否'
                             if uid_set_qs[0]['cloud_vod'] == 2:
                                 cloud_vod = '不支持'
-                            elif uid_set_qs[0]['cloud_vod'] == 1:
-                                cloud_vod = '开启'
                             else:
-                                cloud_vod = '关闭'
+                                cloud_vod = '支持'
                             if uid_set_qs[0]['is_ai'] == 2:
                                 isAI = '不支持'
                             elif uid_set_qs[0]['is_ai'] == 1:
@@ -257,6 +255,20 @@ class DeviceManagement(View):
                             device_info_list["datas"][k]['fields']['cloudVod'] = cloud_vod
                             device_info_list["datas"][k]['fields']['ip'] = uid_set_qs[0]['ip']
                             device_info_list["datas"][k]['fields']['version'] = uid_set_qs[0]['version']
+                        uid_bucket_qs = UID_Bucket.objects.filter(
+                            uid=device_info_list["datas"][k]['fields']['UID']).values('status')
+                        #  0是关闭,1是开启
+                        if uid_bucket_qs.exists():
+                            res = []
+                            for uid_bucket in uid_bucket_qs:
+                                status = uid_bucket['status']
+                                res.append(status)
+                            if 1 in res:
+                                device_info_list["datas"][k]['fields']['status'] = 1
+                            else:
+                                device_info_list["datas"][k]['fields']['status'] = 0
+                        else:
+                            device_info_list["datas"][k]['fields']['status'] = 0
             return response.json(0, {'list': device_info_list, 'total': total})
         except Exception as e:
             print(e)
@@ -661,7 +673,7 @@ class DeviceManagement(View):
             return response.json(0, res)
         except Exception as e:
             print(e)
-            return  response.json(500, (repr(e)))
+            return response.json(500, (repr(e)))
 
     @staticmethod
     def get_app_device_type_list(request_dict, response):

+ 16 - 7
MiddleWare/requestRecord.py

@@ -6,10 +6,9 @@
 @IDE :PyCharm
 """
 import json
-import logging
 import time
 from django.utils.deprecation import MiddlewareMixin
-
+from Ansjer.config import LOGGER
 from Model.models import RequestRecordModel
 
 
@@ -30,8 +29,18 @@ class RequestRecordMiddleware(MiddlewareMixin):
                 parameter = json.dumps(request.POST.dict())
             else:
                 parameter = ''
-
-            if response.status_code == 500:     # 处理没有捕获异常的情况
+            content = eval(str(response.content, 'utf-8'))  # bytes 转为 dict
+            # 请求是否成功
+            if content['code']:
+                old_key = 'code'
+                new_key = 'result_code'
+                new_dict = {new_key: content.pop(old_key)}
+                for key, value in content.items():
+                    new_dict[key] = value
+                content = new_dict.copy()
+            if content['result_code'] != 0:
+                LOGGER.info('请求路径:{}, 请求方式:{}, 输入数据:{}, 输出数据:{}, 响应状态:{}'.format(url, method, parameter, content, response.status_code))
+            if response.status_code == 500:  # 处理没有捕获异常的情况
                 request_record_data = {
                     'method': method,
                     'url': url,
@@ -41,9 +50,9 @@ class RequestRecordMiddleware(MiddlewareMixin):
                     'reason_phrase': response.reason_phrase,
                 }
                 RequestRecordModel.objects.create(**request_record_data)
-            elif response.content:     # 处理捕获异常的情况
+            elif response.content:  # 处理捕获异常的情况
                 # print('content: ', response.content)
-                content = eval(str(response.content, 'utf-8'))   # bytes 转为 dict
+                # content = eval(str(response.content, 'utf-8'))  # bytes 转为 dict
                 # logger = logging.getLogger('info')
                 # logger.info('content: {}'.format(content))
                 error_flag = False
@@ -51,7 +60,7 @@ class RequestRecordMiddleware(MiddlewareMixin):
                 if 'result_code' in content and (content['result_code'] == 500 or content['result_code'] == 474):
                     reason_phrase = content['result']
                     error_flag = True
-                elif 'code' in content and content['code'] == 500:    # ResponseObject.returntype == 'pc'
+                elif 'code' in content and content['code'] == 500:  # ResponseObject.returntype == 'pc'
                     reason_phrase = content['data']
                     error_flag = True
                 if error_flag:

+ 1 - 1
Model/models.py

@@ -1270,7 +1270,7 @@ class UID_Bucket(models.Model):
     uid = models.CharField(max_length=20, verbose_name='设备UID', db_index=True)
     channel = models.SmallIntegerField(default=0, verbose_name='通道')
     bucket = models.ForeignKey(VodBucketModel, blank=True, to_field='id', on_delete=models.CASCADE, verbose_name='存储空间')
-    status = models.SmallIntegerField(default=0, verbose_name='状态[0:开启,1:关闭]')
+    status = models.SmallIntegerField(default=0, verbose_name='状态[0:关闭,1:开启]')
     endTime = models.BigIntegerField(verbose_name='套餐结束时间', db_index=True, default=0)
     addTime = models.IntegerField(verbose_name='添加时间', default=0)
     updateTime = models.BigIntegerField(verbose_name='更新时间', default=0)