Эх сурвалжийг харах

Merge branch 'test' of http://192.168.136.99:3000/servers/ASJServer into ming

zhangdongming 1 сар өмнө
parent
commit
f382c4a92d

+ 14 - 3
Controller/IotCoreController.py

@@ -13,7 +13,7 @@ from django.views import View
 from Ansjer.config import AWS_IOT_GETS3_PULL_CHINA_ID, AWS_IOT_GETS3_PULL_CHINA_SECRET, \
     AWS_IOT_GETS3_PULL_FOREIGN_ID, AWS_IOT_GETS3_PULL_FOREIGN_SECRET, AWS_ARN, AWS_IOT_SES_ACCESS_CHINA_REGION, \
     AWS_IOT_SES_ACCESS_FOREIGN_REGION_ASIA, AWS_IOT_SES_ACCESS_FOREIGN_REGION_EUROPE, \
-    AWS_IOT_SES_ACCESS_FOREIGN_REGION_AMERICA, REGION_ID_LIST, ALEXA_DOMAIN
+    AWS_IOT_SES_ACCESS_FOREIGN_REGION_AMERICA, REGION_ID_LIST, ALEXA_DOMAIN, LOGGER
 from Model.models import Device_Info, iotdeviceInfoModel, SerialNumberModel, UidSetModel
 from Object.IOTCore.IotObject import IOTClient
 from Object.ResponseObject import ResponseObject
@@ -274,13 +274,24 @@ class IotCoreView(View):
         UID = request_dict.get('UID', None)
         rtsp = request_dict.get('rtsp', None)
         enable = request_dict.get('enable', '1')
-        if not all([UID, rtsp]):
+        command_type = request_dict.get('commandType', None)
+
+        LOGGER.info(
+            f"[request_publish_message] 收到请求: UID={UID}, rtsp={rtsp}, enable={enable}, commandType={command_type}")
+
+        if not UID:
+            return response.json(444)
+        if not any([rtsp, command_type]):
             return response.json(444)
 
         try:
             thing_name = CommonService.query_serial_with_uid(UID)  # 存在序列号则为使用序列号作为物品名
             topic_name = 'ansjer/generic/{}'.format(thing_name)
-            msg = OrderedDict(
+
+            if command_type:
+                msg = {'commandType': command_type}
+            else:
+                msg = OrderedDict(
                 [
                     ('alexaRtspCommand', rtsp),
                     ('enable', int(enable)),

+ 4 - 2
Model/models.py

@@ -5775,12 +5775,14 @@ class AbnormalEventCode(models.Model):
 
 class AlexaPush(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
-    uid = models.CharField(default='', max_length=20, verbose_name='uid')
+    uid = models.CharField(default='', max_length=20, db_index=True, verbose_name='uid')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
     # 事件类型, 0: 快照, 1: 人形检测
     event_type = models.PositiveSmallIntegerField(default=0, verbose_name='事件类型')
     # 1: 阿里云, 2: AWS, 3: oci美国凤凰城, 4: oci英国伦敦, 5: 华为云
     storage_location = models.PositiveSmallIntegerField(default=3, verbose_name='存储桶位置')
-    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+    event_time = models.IntegerField(default=0, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, verbose_name='添加时间')
 
     class Meta:
         db_table = 'alexa_push'