瀏覽代碼

设备共享机制

chenjunkai 6 年之前
父節點
當前提交
5ad92c4d80
共有 3 個文件被更改,包括 47 次插入39 次删除
  1. 1 1
      Controller/EquipmentManager.py
  2. 45 37
      Service/MiscellService.py
  3. 1 1
      Service/TemplateService.py

+ 1 - 1
Controller/EquipmentManager.py

@@ -238,7 +238,7 @@ def deleteInterface(request):
             # 主用户删除设备
             dv_qs.delete()
             # 分享获得用户假删除
-            ud_dv_qs = Device_Info.objects.filter(UID=uid)
+            ud_dv_qs = Device_Info.objects.filter(UID=uid, isShare=True)
             if ud_dv_qs.exists():
                 ud_dv_qs.update(isExist=0)
     except Exception as e:

+ 45 - 37
Service/MiscellService.py

@@ -118,43 +118,8 @@ class MiscellService():
 
     @staticmethod
     def batch_add_access_log(request, status_code):
-        request.encoding = 'utf-8'
-        if request.method == 'GET':
-            request_dict = request.GET
-        if request.method == 'POST':
-            request_dict = request.POST
-        api_list = TemplateService.log_api()
-        request_path = request.path.strip().strip('/')
-        if request_path in api_list:
-            user = MiscellService.get_access_name(request_dict)
-            clientIP = CommonService.get_ip_address(request)
-            now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
-            password = request_dict.get('userPwd', None)
-            if password is not None:
-                request_dict = dict(request_dict)
-                request_dict.pop('userPwd')
-            content = json.dumps(request_dict)
-            add_data = {
-                'user': user,
-                'ip': clientIP,
-                'status': status_code,
-                'url': request.META['SERVER_PROTOCOL'] + '-' + request.method + '-' + request.path,
-                'operation': request_path,
-                'time': str(now_time),
-                'content': content
-            }
-            redisObj = RedisObject()
-            loggerData = json.dumps(add_data)
-            print(loggerData)
-            redisObj.rpush(name='logger', val=loggerData)
-            # 判断redis列表长度
-            if redisObj.llen(name='logger') > 100:
-                data_list = redisObj.lrange('logger', 0, -1)
-                redisObj.del_data(key='logger')
-                ModelService.add_batch_log(data_list)
-            else:
-                pass
-        # add batch
+        asy = threading.Thread(target=batch_add_log_ctr, args=(request, status_code))
+        asy.start()
 
 
 def addLog(request, status_code):
@@ -187,3 +152,46 @@ def addLog(request, status_code):
             ModelService.addAccessLog(data=add_data)
     except Exception as e:
         pass
+
+
+def batch_add_log_ctr(request, status_code):
+    request.encoding = 'utf-8'
+    if request.method == 'GET':
+        request_dict = request.GET
+    elif request.method == 'POST':
+        request_dict = request.POST
+    else:
+        return
+    api_list = TemplateService.log_api()
+    request_path = request.path.strip().strip('/')
+    if request_path in api_list:
+        user = MiscellService.get_access_name(request_dict)
+        clientIP = CommonService.get_ip_address(request)
+        now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
+        password = request_dict.get('userPwd', None)
+        if password is not None:
+            request_dict = dict(request_dict)
+            request_dict.pop('userPwd')
+        content = json.dumps(request_dict)
+        add_data = {
+            'user': user,
+            'ip': clientIP,
+            'status': status_code,
+            'url': request.META['SERVER_PROTOCOL'] + '-' + request.method + '-' + request.path,
+            'operation': request_path,
+            'time': str(now_time),
+            'content': content
+        }
+        redisObj = RedisObject()
+        loggerData = json.dumps(add_data)
+        print(loggerData)
+        redisObj.rpush(name='logger', val=loggerData)
+        # 判断redis列表长度
+        if redisObj.llen(name='logger') > 100:
+            data_list = redisObj.lrange('logger', 0, -1)
+            redisObj.del_data(key='logger')
+            # asy = threading.Thread(target=addLog, args=(request, status_code))
+            # asy.start()
+            ModelService.add_batch_log(data_list)
+        else:
+            pass

+ 1 - 1
Service/TemplateService.py

@@ -22,7 +22,7 @@ class TemplateService:
             'account/logout',
             'account/changePwd',
             'account/forget',
-            'account/email-re-pwd'
+            # 'account/email-re-pwd'
             'account/refreshTk',
             'account/showUserMore',
             'account/perfectUserInfo',