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

更新OTA升级成功重新分组接口

locky 3 жил өмнө
parent
commit
560434ec90

+ 25 - 9
Controller/IotCoreController.py

@@ -39,13 +39,13 @@ class IotCoreView(View):
         response = ResponseObject()
         response = ResponseObject()
         lang = request_dict.get('lang', 'en')
         lang = request_dict.get('lang', 'en')
         response.lang = lang
         response.lang = lang
-        if operation == 'createKeysAndCertificate':
+        if operation == 'createKeysAndCertificate':     # 设备注册到IoT core
             return self.create_keys_and_certificate(request_dict, response, request)
             return self.create_keys_and_certificate(request_dict, response, request)
         elif operation == 'requestPublishMessage':
         elif operation == 'requestPublishMessage':
             return self.request_publish_message(request_dict, response)
             return self.request_publish_message(request_dict, response)
         elif operation == 'getS3PullKey':
         elif operation == 'getS3PullKey':
             return self.get_s3_pull_key(request_dict, response, request)
             return self.get_s3_pull_key(request_dict, response, request)
-        elif operation == 'thingRegroup':
+        elif operation == 'thingRegroup':   # OTA升级成功重新分组
             return self.thing_regroup(request_dict, response)
             return self.thing_regroup(request_dict, response)
         elif operation == 'pcGetIotInfo':
         elif operation == 'pcGetIotInfo':
             return self.pcGetIotInfo(request_dict, response)
             return self.pcGetIotInfo(request_dict, response)
@@ -167,20 +167,36 @@ class IotCoreView(View):
 
 
     @staticmethod
     @staticmethod
     def thing_regroup(request_dict, response):
     def thing_regroup(request_dict, response):
-        # 物品重新分组
+        """
+        OTA升级成功重新分组
+        @param request_dict: 请求参数
+        @request_dict uid: 设备uid
+        @request_dict region_id: 地区id
+        @request_dict time_stamp: 时间戳
+        @request_dict time_stamp_token: 时间戳token
+        @request_dict device_version: 设备版本
+        @request_dict language: 版本语言
+        @param response: 响应对象
+        @return: response
+        """
         uid = request_dict.get('uid', '')
         uid = request_dict.get('uid', '')
-        token = request_dict.get('token', None)
-        language = request_dict.get('language', None)
         region_id = request_dict.get('region_id', None)
         region_id = request_dict.get('region_id', None)
         time_stamp = request_dict.get('time_stamp', None)
         time_stamp = request_dict.get('time_stamp', None)
+        time_stamp_token = request_dict.get('time_stamp_token', None)
         device_version = request_dict.get('device_version', None)
         device_version = request_dict.get('device_version', None)
+        language = request_dict.get('language', None)
 
 
-        if not all([token, language, region_id, time_stamp, device_version]):
+        if not all([region_id, time_stamp, time_stamp_token, device_version, language]):
             return response.json(444)
             return response.json(444)
 
 
         # 时间戳token校验
         # 时间戳token校验
-        if not CommonService.check_time_stamp_token(token, time_stamp):
-            return response.json(13)
+        no_rtc = request_dict.get('no_rtc', None)
+        if no_rtc:
+            if not CommonService.check_time_stamp_token_without_distance(time_stamp_token, time_stamp):
+                return response.json(13)
+        else:
+            if not CommonService.check_time_stamp_token(time_stamp_token, time_stamp):
+                return response.json(13)
 
 
         company_mark = '11A'
         company_mark = '11A'
         thing_name_suffix = uid
         thing_name_suffix = uid
@@ -188,7 +204,7 @@ class IotCoreView(View):
             # 使用序列号
             # 使用序列号
             serial_number = request_dict.get('serial_number', None)
             serial_number = request_dict.get('serial_number', None)
             if not serial_number:
             if not serial_number:
-                return response.json(444)
+                return response.json(444, {{'error param': 'uid and serial_number'}})
             company_mark = serial_number[-3:]
             company_mark = serial_number[-3:]
             thing_name_suffix = serial_number
             thing_name_suffix = serial_number
             uid = CommonService.query_uid_with_serial(serial_number)
             uid = CommonService.query_uid_with_serial(serial_number)