Ver código fonte

优化设备AI推送事件类型文案

zhangdongming 2 anos atrás
pai
commit
158bc38991
1 arquivos alterados com 70 adições e 40 exclusões
  1. 70 40
      Service/DevicePushService.py

+ 70 - 40
Service/DevicePushService.py

@@ -329,11 +329,79 @@ class DevicePushService:
         """""
         """""
         return nickname
         return nickname
 
 
+    @staticmethod
+    def get_event_type_text(lang, event_type, dealings_type):
+        """
+        事件类型文案键值查找
+        """
+        if lang == 'cn':
+            event_dict_cn = {
+                1024: {
+                    1: '有人进入',
+                    2: '有人离开'
+                },
+                512: '长时间无人出现',
+                256: '有人徘徊',
+                128: '区域离开',
+                4: '有车出现',
+                3: '检测到画面变化,有人出现',
+                2: '有人出现',
+                1: '检测到画面变化',
+                5: '检测到画面变化,有车出现',
+                9: '检测到画面变化,发现人脸',
+                10: '发现人脸,有人出现'
+            }
+
+            if event_type in event_dict_cn:
+                if isinstance(event_dict_cn[event_type], dict):
+                    msg_type = event_dict_cn[event_type][dealings_type]
+                else:
+                    msg_type = event_dict_cn[event_type]
+            else:
+                msg_type = '未知事件类型'
+            return msg_type
+        else:
+            event_dict = {
+                1024: {
+                    1: 'Someone entered',
+                    2: 'Someone left'
+                },
+                512: 'No one shows up for a long time',
+                256: 'Someone wanders',
+                128: 'Area departure',
+                4: 'A car appeared',
+                3: 'Screen change detected and someone appears',
+                2: 'Someone showed up',
+                1: 'Screen change detected',
+                5: 'Screen change detected,A car appeared',
+                9: 'Screen change detected,Discover faces',
+                10: 'A human face is found, Someone showed up'
+            }
+
+            if event_type in event_dict:
+                if isinstance(event_dict[event_type], dict):
+                    msg_type = event_dict[event_type][dealings_type]
+                else:
+                    msg_type = event_dict[event_type]
+            else:
+                msg_type = 'Unknown event type'
+            return msg_type
+
     @staticmethod
     @staticmethod
     def get_msg_text(channel, n_time, lang, tz, event_type, electricity='', is_sys=0, dealings_type=0, ai_type=0,
     def get_msg_text(channel, n_time, lang, tz, event_type, electricity='', is_sys=0, dealings_type=0, ai_type=0,
                      device_type=0):
                      device_type=0):
         """
         """
         获取消息文本
         获取消息文本
+        @param: channel 通道号
+        @param: n_time 触发事件
+        @param: lang 语言
+        @param: tz 时区
+        @param: event_type 事件类型
+        @param: electricity 电量
+        @param: is_sys 是否系统消息
+        @param: dealings_type 往来类型 1 进 1 离开
+        @param: ai_type 设备本地AI只能算法 事件类型
+        @param: device_type 设备类型
         """
         """
         n_date = CommonService.get_now_time_str(n_time=n_time, tz=tz, lang=lang)
         n_date = CommonService.get_now_time_str(n_time=n_time, tz=tz, lang=lang)
         msg_type = ''
         msg_type = ''
@@ -370,26 +438,7 @@ class DevicePushService:
             elif event_type == 606:
             elif event_type == 606:
                 msg_type = '有人呼叫,请点击查看'
                 msg_type = '有人呼叫,请点击查看'
             elif ai_type > 0:
             elif ai_type > 0:
-                if event_type == 1024 and dealings_type == 1:
-                    msg_type = '有人进入'
-                elif event_type == 1024 and dealings_type == 2:
-                    msg_type = '有人离开'
-                elif event_type == 512:
-                    msg_type = '长时间无人出现'
-                elif event_type == 256:
-                    msg_type = '有人徘徊'
-                elif event_type == 128:
-                    msg_type = '区域离开'
-                elif event_type == 64:
-                    msg_type = '区域闯入'
-                elif event_type == 4:
-                    msg_type = '有包裹出现'
-                elif event_type == 3:
-                    msg_type = '有车出现'
-                elif event_type == 2:
-                    msg_type = '有宠物出现'
-                elif event_type == 1:
-                    msg_type = '有人出现'
+                msg_type = DevicePushService.get_event_type_text(lang, event_type, dealings_type)
             if is_sys:
             if is_sys:
                 if device_type in MULTI_CHANNEL_TYPE_LIST:
                 if device_type in MULTI_CHANNEL_TYPE_LIST:
                     send_text = '{} 通道:{}'.format(msg_type, channel)
                     send_text = '{} 通道:{}'.format(msg_type, channel)
@@ -431,26 +480,7 @@ class DevicePushService:
             elif event_type == 606:
             elif event_type == 606:
                 msg_type = 'Someone is calling, please click to view'
                 msg_type = 'Someone is calling, please click to view'
             elif ai_type > 0:
             elif ai_type > 0:
-                if event_type == 1024 and int(dealings_type) == 1:
-                    msg_type = 'Someone entered'
-                elif event_type == 1024 and int(dealings_type) == 2:
-                    msg_type = 'Someone left'
-                elif event_type == 512:
-                    msg_type = 'No one shows up for a long time'
-                elif event_type == 256:
-                    msg_type = 'Someone wanders'
-                elif event_type == 128:
-                    msg_type = 'Area departure'
-                elif event_type == 64:
-                    msg_type = 'Area break-in'
-                elif event_type == 4:
-                    msg_type = 'Package detected'
-                elif event_type == 3:
-                    msg_type = 'Vehicle detected'
-                elif event_type == 2:
-                    msg_type = 'Pet detected'
-                elif event_type == 1:
-                    msg_type = 'Person detected'
+                msg_type = DevicePushService.get_event_type_text(lang, event_type, dealings_type)
             if is_sys:
             if is_sys:
                 if device_type in MULTI_CHANNEL_TYPE_LIST:
                 if device_type in MULTI_CHANNEL_TYPE_LIST:
                     send_text = '{} channel:{}'.format(msg_type, channel)
                     send_text = '{} channel:{}'.format(msg_type, channel)