Przeglądaj źródła

查询未读推送消息数量

locky 1 rok temu
rodzic
commit
ef8a97680f
2 zmienionych plików z 37 dodań i 30 usunięć
  1. 25 30
      Controller/SysManage.py
  2. 12 0
      Service/EquipmentInfoService.py

+ 25 - 30
Controller/SysManage.py

@@ -105,34 +105,29 @@ def initMsgFunc(request):
     token = request_dict.get('token', None)
     tko = TokenObject(token)
     response.lang = tko.lang
-    if tko.code == 0:
-        userID = tko.userID
-        seven_days_ago = int(time.time()) - 3600 * 24 * 7  # 过滤七天前数据
-        sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()
-        # eq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, status=False).count()
-        # rq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, eventType=57,
-        # status=False).count()
-        sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()
-        # eq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, status=False).count()
-        # rq_count = Equipment_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, eventType=57,
-        # status=False).count()
-        eq_count = 0
-        rq_count = 0
-        for i in range(1, 8):
-            eq_qs = EquipmentInfoService.get_equipment_info_model('', i)
-            eq_qs = eq_qs.filter(device_user_id=userID, event_time__gt=seven_days_ago, status=False)
-            if eq_qs.exists():
-                eq_count += eq_qs.count()
-                rq_count += eq_qs.filter(event_type=57).count()
-        ai_count = Ai_Push_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, status=False).count()
-        uid_reset_count = Device_Info.objects.filter(userID_id=userID, isExist=2).count()
-        res = {
-            'sm_count': sm_count,  # 系统消息未读数量
-            'eq_count': eq_count,  # 未读消息总数
-            'rq_count': rq_count,  # 人形检测总数
-            'ai_count': ai_count,  # AI消息总数
-            'uid_reset_count': uid_reset_count,  # 复位的设备数量
-        }
-        return response.json(0, res)
-    else:
+    if tko.code != 0:
         return response.json(tko.code)
+    userID = tko.userID
+    seven_days_ago = int(time.time()) - 3600 * 24 * 7  # 过滤七天前数据
+    sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()
+    sm_count = SysMsgModel.objects.filter(userID_id=userID, status=0).count()
+
+    kwargs = {
+        'device_user_id': userID,
+        'event_time__gt': seven_days_ago,
+        'status': 0
+    }
+    eq_count = EquipmentInfoService.count_equipment_info(**kwargs)
+    kwargs['event_type'] = 57
+    rq_count = EquipmentInfoService.count_equipment_info(**kwargs)
+
+    ai_count = Ai_Push_Info.objects.filter(userID_id=userID, eventTime__gt=seven_days_ago, status=False).count()
+    uid_reset_count = Device_Info.objects.filter(userID_id=userID, isExist=2).count()
+    res = {
+        'sm_count': sm_count,  # 系统消息未读数量
+        'eq_count': eq_count,  # 未读消息总数
+        'rq_count': rq_count,  # 人形检测总数
+        'ai_count': ai_count,  # AI消息总数
+        'uid_reset_count': uid_reset_count,  # 复位的设备数量
+    }
+    return response.json(0, res)

+ 12 - 0
Service/EquipmentInfoService.py

@@ -683,3 +683,15 @@ class EquipmentInfoService:
             return None
         tab_index = tab_val - 1
         return EQUIPMENT_INFO_MODEL_LIST[tab_index]
+
+    @staticmethod
+    def count_equipment_info(**kwargs):
+        """
+        查询推送数据数量
+        @param kwargs:
+        @return: count
+        """
+        count = 0
+        for equipment_info_model in EQUIPMENT_INFO_MODEL_LIST:
+            count += equipment_info_model.objects.filter(**kwargs).count()
+        return count