Browse Source

更新旧接口消息推送存库

zhangdongming 3 years ago
parent
commit
79fe7220b9
2 changed files with 54 additions and 1 deletions
  1. 23 1
      Controller/EquipmentInfo.py
  2. 31 0
      Service/EquipmentInfoService.py

+ 23 - 1
Controller/EquipmentInfo.py

@@ -5,7 +5,7 @@ from django.utils.decorators import method_decorator
 from django.views.decorators.csrf import csrf_exempt
 from django.views.generic.base import View
 
-from Model.models import Device_Info, Equipment_Info
+from Model.models import Device_Info, Equipment_Info, UidPushModel
 from Model.models import Device_User
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
@@ -93,6 +93,28 @@ class EquipmentInfo(View):
                 addTime=nowTime,
                 alarm=alarm)
             equipment_info.save()
+            uid_push_qs = UidPushModel.objects.filter(uid_set__uid=devUid, uid_set__detect_status=1). \
+                values('token_val', 'app_type', 'appBundleId', 'm_code', 'push_type', 'userID_id', 'userID__NickName',
+                       'lang', 'm_code', 'tz', 'uid_set__nickname', 'uid_set__detect_interval', 'uid_set__detect_group',
+                       'uid_set__channel')
+            tz = '0'
+            if uid_push_qs.exists():
+                tz = uid_push_qs.first().tz
+            local_date_time = CommonService.get_now_time_str(n_time=nowTime, tz=tz, lang='cn')
+            local_date_time = local_date_time[0:10]
+            equipment_info_vo = EquipmentInfoService.get_equipment_info_obj(
+                local_date_time,
+                device_user_id=userID,
+                event_time=nowTime,
+                event_type=eventType,
+                device_uid=devUid,
+                device_nick_name=device_info[0].NickName,
+                channel=Channel,
+                alarm=alarm,
+                receive_time=receiveTime,
+                add_time=nowTime,
+            )
+            equipment_info_vo.save()
         except Exception:
             errorInfo = traceback.format_exc()
             print(errorInfo)

+ 31 - 0
Service/EquipmentInfoService.py

@@ -7,6 +7,7 @@
 @Software: PyCharm
 """
 import datetime
+import logging
 import time
 import itertools
 from django.db.models import Value, CharField
@@ -275,3 +276,33 @@ class EquipmentInfoService:
             val = ''.join(val)
             regroup_list.append(int(val))
         return regroup_list
+
+    @staticmethod
+    def get_equipment_info_obj(dt, **kwargs):
+        """
+        根据日期判断是星期几,返回相应的对象实例
+        @param dt: 日期 例:2022-03-03
+        @param kwargs: 设备信息属性值
+        @return: 星期一至星期天equipment_info对象实例
+        """
+        logger = logging.getLogger('info')
+        week = LocalDateTimeUtil.date_to_week(dt)
+        logger.info('本周{}'.format(str(week)))
+        equipment_info = None
+        if week == 1:
+            equipment_info = EquipmentInfoMonday(**kwargs)
+        elif week == 2:
+            equipment_info = EquipmentInfoTuesday(**kwargs)
+        elif week == 3:
+            equipment_info = EquipmentInfoWednesday(**kwargs)
+        elif week == 4:
+            equipment_info = EquipmentInfoThursday(**kwargs)
+        elif week == 5:
+            equipment_info = EquipmentInfoFriday(**kwargs)
+        elif week == 6:
+            equipment_info = EquipmentInfoSaturday(**kwargs)
+        elif week == 7:
+            equipment_info = EquipmentInfoSunday(**kwargs)
+        logger.info(type(equipment_info))
+        logger.info(equipment_info)
+        return equipment_info