|
@@ -39,13 +39,13 @@ class IotCoreView(View):
|
|
|
response = ResponseObject()
|
|
|
lang = request_dict.get('lang', 'en')
|
|
|
response.lang = lang
|
|
|
- if operation == 'createKeysAndCertificate':
|
|
|
+ if operation == 'createKeysAndCertificate': # 设备注册到IoT core
|
|
|
return self.create_keys_and_certificate(request_dict, response, request)
|
|
|
elif operation == 'requestPublishMessage':
|
|
|
return self.request_publish_message(request_dict, response)
|
|
|
elif operation == 'getS3PullKey':
|
|
|
return self.get_s3_pull_key(request_dict, response, request)
|
|
|
- elif operation == 'thingRegroup':
|
|
|
+ elif operation == 'thingRegroup': # OTA升级成功重新分组
|
|
|
return self.thing_regroup(request_dict, response)
|
|
|
elif operation == 'pcGetIotInfo':
|
|
|
return self.pcGetIotInfo(request_dict, response)
|
|
@@ -167,20 +167,36 @@ class IotCoreView(View):
|
|
|
|
|
|
@staticmethod
|
|
|
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', '')
|
|
|
- token = request_dict.get('token', None)
|
|
|
- language = request_dict.get('language', None)
|
|
|
region_id = request_dict.get('region_id', 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)
|
|
|
+ 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)
|
|
|
|
|
|
# 时间戳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'
|
|
|
thing_name_suffix = uid
|
|
@@ -188,7 +204,7 @@ class IotCoreView(View):
|
|
|
# 使用序列号
|
|
|
serial_number = request_dict.get('serial_number', None)
|
|
|
if not serial_number:
|
|
|
- return response.json(444)
|
|
|
+ return response.json(444, {{'error param': 'uid and serial_number'}})
|
|
|
company_mark = serial_number[-3:]
|
|
|
thing_name_suffix = serial_number
|
|
|
uid = CommonService.query_uid_with_serial(serial_number)
|