Explorar el Código

国外服务器控制插座

peng hace 2 años
padre
commit
734b96dd63
Se han modificado 1 ficheros con 16 adiciones y 6 borrados
  1. 16 6
      controller/index.py

+ 16 - 6
controller/index.py

@@ -763,19 +763,29 @@ class powerController(TemplateView):
             return JsonResponse({'result_code': '500', '错误': 'serial_number数据不存在'})
 
         logger = logging.getLogger('django')
-        logger.info('{} 唤醒设备 {}'.format(skill_name, serial_number))
+        logger.info('{} 控制插座 {}'.format(skill_name, serial_number))
         # 请求MQTT发布消息
-        url = '{}/api/loocam/open/socket/alexa-socket-switch'.format(SERVER_PREFIX_TEST)  # 测试服务器
+        url = '{}/api/loocam/open/socket/alexa-socket-switch'.format(SERVER_PREFIX)  # 测试服务器
         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', '错误': '请求响应异常'})
+            return JsonResponse({'result_code': '500', '错误': '请求国外服务器响应异常'})
 
         res = r.json()
-        logger.info('请求MQTT发布消息返回状态: {}'.format(res['result_code']))
+        logger.info('国外服务器返回状态: {}'.format(res))
         if res['result_code'] != 0:
-            logger.info('请求MQTT下发指令失败')
-            return JsonResponse({'result_code': '500', '错误': '请求MQTT下发指令失败'})
+            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'})
         else:
             logger.info('请求MQTT下发指令成功')
             return JsonResponse({'result_code': '0'})