|
@@ -552,7 +552,8 @@ class oa2DiscoverySwitch(TemplateView):
|
|
response = ResObject()
|
|
response = ResObject()
|
|
user = user_qs.first()
|
|
user = user_qs.first()
|
|
userID = user.userID
|
|
userID = user.userID
|
|
- logger.info('userID: {}'.format(userID))
|
|
|
|
|
|
+ region_code = user.region_code
|
|
|
|
+ logger.info('userID: {},region_code:{}'.format(userID, region_code))
|
|
|
|
|
|
# 更新事件网关接口
|
|
# 更新事件网关接口
|
|
alexAuth = AlexaAuthModel.objects.filter(token=access_token, skill_name=skill_name).order_by('-addTime')
|
|
alexAuth = AlexaAuthModel.objects.filter(token=access_token, skill_name=skill_name).order_by('-addTime')
|
|
@@ -580,12 +581,12 @@ class oa2DiscoverySwitch(TemplateView):
|
|
alexa_region=event_alexa_region,
|
|
alexa_region=event_alexa_region,
|
|
skill_name=skill_name,
|
|
skill_name=skill_name,
|
|
)
|
|
)
|
|
-
|
|
|
|
- auth_request_url = '{}/oalexa/discoveryswitch'.format(SERVER_PREFIX)
|
|
|
|
|
|
+ domain_name = SERVER_PREFIX_EU if region_code == 'EU' else SERVER_PREFIX
|
|
|
|
+ auth_request_url = '{}/oalexa/discoveryswitch'.format(domain_name)
|
|
requests_data = {'sid': 'admin', 'sst': 'admin', 'alexa_user_id': userID}
|
|
requests_data = {'sid': 'admin', 'sst': 'admin', 'alexa_user_id': userID}
|
|
res = requests.post(url=auth_request_url, data=requests_data)
|
|
res = requests.post(url=auth_request_url, data=requests_data)
|
|
res_json = res.json()
|
|
res_json = res.json()
|
|
- logger.info('正式服务器响应: {}'.format(res_json))
|
|
|
|
|
|
+ logger.info('{}正式服务器响应: {}'.format(region_code, res_json))
|
|
|
|
|
|
# 添加测试服务器测试
|
|
# 添加测试服务器测试
|
|
if res_json['result_code'] != 0:
|
|
if res_json['result_code'] != 0:
|
|
@@ -605,13 +606,12 @@ class oa2DiscoverySwitch(TemplateView):
|
|
for switch in switch_list:
|
|
for switch in switch_list:
|
|
serial_number = switch['uid']
|
|
serial_number = switch['uid']
|
|
nick = switch['nick']
|
|
nick = switch['nick']
|
|
- region = 'EU' if switch['region'] == 'EU' else 'EN'
|
|
|
|
switch_info_qs = SwitchModel.objects.filter(serial_number=serial_number, userID=userID)
|
|
switch_info_qs = SwitchModel.objects.filter(serial_number=serial_number, userID=userID)
|
|
if switch_info_qs.exists():
|
|
if switch_info_qs.exists():
|
|
- switch_info_qs.update(nick=nick, region=region, updTime=now_time)
|
|
|
|
|
|
+ switch_info_qs.update(nick=nick, region=switch['region'], updTime=now_time)
|
|
else:
|
|
else:
|
|
- SwitchModel.objects.create(serial_number=serial_number, nick=nick, region=region, addTime=now_time,
|
|
|
|
- updTime=now_time, userID=userID)
|
|
|
|
|
|
+ SwitchModel.objects.create(serial_number=serial_number, nick=nick, region=switch['region'],
|
|
|
|
+ addTime=now_time, updTime=now_time, userID=userID)
|
|
ur_data = {
|
|
ur_data = {
|
|
'endpointId': serial_number,
|
|
'endpointId': serial_number,
|
|
'friendlyName': nick,
|
|
'friendlyName': nick,
|
|
@@ -655,27 +655,22 @@ class powerController(TemplateView):
|
|
logger = logging.getLogger('django')
|
|
logger = logging.getLogger('django')
|
|
logger.info('{} 控制插座 {}'.format(skill_name, serial_number))
|
|
logger.info('{} 控制插座 {}'.format(skill_name, serial_number))
|
|
# 请求MQTT发布消息
|
|
# 请求MQTT发布消息
|
|
- url = '{}/api/loocam/open/socket/alexa-socket-switch'.format(SERVER_PREFIX) # 国外服务器
|
|
|
|
|
|
+ region = switch_qs[0]['region']
|
|
|
|
+ if region == 'EU':
|
|
|
|
+ domain_name = SERVER_PREFIX_EU
|
|
|
|
+ elif region == 'CN':
|
|
|
|
+ domain_name = SERVER_PREFIX_TEST
|
|
|
|
+ else:
|
|
|
|
+ domain_name = SERVER_PREFIX
|
|
|
|
+ url = '{}/api/loocam/open/socket/alexa-socket-switch'.format(domain_name)
|
|
requests_data = {'serial_number': serial_number, 'power_controller': power_controller} # TurnOn, TurnOff
|
|
requests_data = {'serial_number': serial_number, 'power_controller': power_controller} # TurnOn, TurnOff
|
|
r = requests.post(url, requests_data)
|
|
r = requests.post(url, requests_data)
|
|
if r.status_code != 200:
|
|
if r.status_code != 200:
|
|
- return JsonResponse({'result_code': '500', '错误': '请求国外服务器响应异常'})
|
|
|
|
-
|
|
|
|
|
|
+ return JsonResponse({'result_code': '500', '错误': '请求服务器响应异常'})
|
|
res = r.json()
|
|
res = r.json()
|
|
- logger.info('国外服务器返回状态: {}'.format(res))
|
|
|
|
|
|
+ logger.info('{}服务器返回状态: {}'.format(region, res))
|
|
if res['result_code'] != 0:
|
|
if res['result_code'] != 0:
|
|
- url = '{}/api/loocam/open/socket/alexa-socket-switch'.format(SERVER_PREFIX_TEST) # 测试服务器
|
|
|
|
- requests_data = {'serial_number': serial_number, 'power_controller': power_controller} # TurnOn, TurnOff
|
|
|
|
- r = requests.post(url, requests_data)
|
|
|
|
- if r.status_code != 200:
|
|
|
|
- return JsonResponse({'result_code': '500', '错误': '请求测试服务器响应异常'})
|
|
|
|
- res = r.json()
|
|
|
|
- logger.info('测试服务器返回状态: {}'.format(res))
|
|
|
|
- if res['result_code'] != 0:
|
|
|
|
- return JsonResponse({'result_code': '500', '错误': '请求MQTT下发指令失败'})
|
|
|
|
- else:
|
|
|
|
- logger.info('请求MQTT下发指令成功')
|
|
|
|
- return JsonResponse({'result_code': '0'})
|
|
|
|
|
|
+ return JsonResponse({'result_code': '500', '错误': '请求MQTT下发指令失败'})
|
|
else:
|
|
else:
|
|
logger.info('请求MQTT下发指令成功')
|
|
logger.info('请求MQTT下发指令成功')
|
|
return JsonResponse({'result_code': '0'})
|
|
return JsonResponse({'result_code': '0'})
|