|
@@ -16,15 +16,18 @@
|
|
|
# 生产环境
|
|
|
# shadow.dvema.com
|
|
|
# 设备影子更新
|
|
|
+import logging
|
|
|
+
|
|
|
from Object.LogUtil import LogUtil
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.ETkObject import ETkObject
|
|
|
import time
|
|
|
-from Model.models import Device_Info, UidSetModel, UID_Preview, VoicePromptModel, UID_Bucket
|
|
|
+from Model.models import Device_Info, UidSetModel, UID_Preview, VoicePromptModel, UID_Bucket, UidChannelSetModel
|
|
|
from Service.CommonService import CommonService
|
|
|
from django.http import JsonResponse
|
|
|
from Object.UidTokenObject import UidTokenObject
|
|
|
|
|
|
+
|
|
|
def generate_utk(request):
|
|
|
request.encoding = 'utf-8'
|
|
|
response = ResponseObject()
|
|
@@ -33,10 +36,10 @@ def generate_utk(request):
|
|
|
elif request.method == 'POST':
|
|
|
request_dict = request.POST
|
|
|
else:
|
|
|
- return response.json(444,'wrong method')
|
|
|
- username = request_dict.get('username',None)
|
|
|
- password = request_dict.get('password',None)
|
|
|
- uid = request_dict.get('uid',None)
|
|
|
+ return response.json(444, 'wrong method')
|
|
|
+ username = request_dict.get('username', None)
|
|
|
+ password = request_dict.get('password', None)
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
if username and password:
|
|
|
if username == 'debug_user' and password == 'debug_password':
|
|
|
# utko = UidTokenObject()
|
|
@@ -48,7 +51,7 @@ def generate_utk(request):
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
else:
|
|
|
- return response.json(444,'username password')
|
|
|
+ return response.json(444, 'username password')
|
|
|
|
|
|
|
|
|
# 设备影子更新
|
|
@@ -64,94 +67,105 @@ def update_device_shadow(request):
|
|
|
etk = request_dict.get('etk', None)
|
|
|
eto = ETkObject(etk)
|
|
|
uid = eto.uid
|
|
|
- if uid:
|
|
|
- # 重置按钮
|
|
|
- is_reset = request_dict.get('is_reset', None)
|
|
|
- # 传1则重置设备信息
|
|
|
- if is_reset == '1':
|
|
|
- UidSetModel.objects.filter(uid=uid).delete()
|
|
|
- # 重置设备,判断设备为已删除
|
|
|
- nowTime = int(time.time())
|
|
|
- uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=nowTime).values('id', 'has_unused').order_by('addTime')
|
|
|
- if not uid_bucket.exists():
|
|
|
- di_qs = Device_Info.objects.filter(UID=uid)
|
|
|
- di_qs.update(isExist=2)
|
|
|
- # 删除预览图
|
|
|
- uid_pre_qs = UID_Preview.objects.filter(uid=uid)
|
|
|
- if uid_pre_qs.exists():
|
|
|
- uid_pre_qs.delete()
|
|
|
+ if not uid:
|
|
|
+ return JsonResponse(status=200, data={'code': 403, 'msg': 'error etk'})
|
|
|
|
|
|
- # 删除语音提示
|
|
|
- voice_qs = VoicePromptModel.objects.filter(uid=uid)
|
|
|
- if voice_qs.exists():
|
|
|
- voice_qs.delete()
|
|
|
+ nowTime = int(time.time())
|
|
|
+ logger = logging.getLogger('info')
|
|
|
+ # 重置按钮
|
|
|
+ is_reset = request_dict.get('is_reset', None)
|
|
|
+ # 传1则重置设备信息
|
|
|
+ if is_reset == '1':
|
|
|
+ logger.info('设备重置: {}'.format(uid))
|
|
|
|
|
|
- # return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
|
|
|
- ucode = request_dict.get('ucode', None)
|
|
|
- version = request_dict.get('version', None)
|
|
|
- p2p_region = request_dict.get('p2p_region', None)
|
|
|
- tz = request_dict.get('tz', None)
|
|
|
- video_code = request_dict.get('video_code', None)
|
|
|
- ip = CommonService.get_ip_address(request)
|
|
|
- channel = request_dict.get('channel', None)
|
|
|
- cloud_vod = request_dict.get('cloud_vod', None)
|
|
|
- push_status = request_dict.get('push_status', None)
|
|
|
- pwd = request_dict.get('pwd', None)
|
|
|
- resetTime = request_dict.get('resetTime', None)
|
|
|
- is_alexa = request_dict.get('is_alexa', None)
|
|
|
- is_human = request_dict.get('is_human', None)
|
|
|
- is_custom_voice = request_dict.get('is_custom', None)
|
|
|
- double_wifi = request_dict.get('double_wifi', None)
|
|
|
+ # 重置语音提示
|
|
|
+ uid_channel_qs = UidChannelSetModel.objects.filter(uid__uid=uid)
|
|
|
+ if uid_channel_qs.exists():
|
|
|
+ uid_channel_qs.update(voice_prompt_intelligent_mute=0, voice_prompt_status=0, voice_prompt_enter=0,
|
|
|
+ voice_prompt_leave=0)
|
|
|
|
|
|
- us_qs = UidSetModel.objects.filter(uid=uid)
|
|
|
- # 更新
|
|
|
- nowTime = int(time.time())
|
|
|
+ # 删除uid_set数据
|
|
|
+ UidSetModel.objects.filter(uid=uid).delete()
|
|
|
|
|
|
- print('-------')
|
|
|
- print(resetTime)
|
|
|
- print('-------')
|
|
|
- qs_dict = {
|
|
|
- 'updTime': nowTime,
|
|
|
- 'ip': ip
|
|
|
- }
|
|
|
- if channel:
|
|
|
- qs_dict['channel'] = channel
|
|
|
- if p2p_region:
|
|
|
- qs_dict['p2p_region'] = p2p_region
|
|
|
- if ucode:
|
|
|
- qs_dict['ucode'] = ucode
|
|
|
- if version:
|
|
|
- qs_dict['version'] = version
|
|
|
- if tz:
|
|
|
- qs_dict['tz'] = tz
|
|
|
- if video_code:
|
|
|
- qs_dict['video_code'] = video_code
|
|
|
- if cloud_vod:
|
|
|
- qs_dict['cloud_vod'] = cloud_vod
|
|
|
- if push_status:
|
|
|
- qs_dict['detect_status'] = push_status
|
|
|
- if pwd:
|
|
|
- qs_dict['pwd'] = pwd
|
|
|
- if is_human:
|
|
|
- qs_dict['is_human'] = is_human
|
|
|
- if is_custom_voice:
|
|
|
- qs_dict['is_custom_voice'] = is_custom_voice
|
|
|
- if double_wifi:
|
|
|
- qs_dict['double_wifi'] = double_wifi
|
|
|
- if us_qs.exists():
|
|
|
- if is_alexa and us_qs[0].is_alexa == 0:
|
|
|
- qs_dict['is_alexa'] = is_alexa
|
|
|
- us_qs.update(**qs_dict)
|
|
|
- # 如果推送状态开启,返回推送url
|
|
|
- return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
|
|
|
- # 新增
|
|
|
- else:
|
|
|
- if is_alexa:
|
|
|
- qs_dict['is_alexa'] = is_alexa
|
|
|
- qs_dict['uid'] = uid
|
|
|
- qs_dict['addTime'] = nowTime
|
|
|
- UidSetModel.objects.create(**qs_dict)
|
|
|
- # 如果推送状态开启,返回推送url
|
|
|
- return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
|
|
|
+ # 购买云存套餐的设备isExist置为2
|
|
|
+ uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=nowTime).values('id', 'has_unused').order_by(
|
|
|
+ 'addTime')
|
|
|
+ if not uid_bucket.exists():
|
|
|
+ Device_Info.objects.filter(UID=uid).update(isExist=2)
|
|
|
+ # 删除预览图
|
|
|
+ uid_pre_qs = UID_Preview.objects.filter(uid=uid)
|
|
|
+ if uid_pre_qs.exists():
|
|
|
+ uid_pre_qs.delete()
|
|
|
+
|
|
|
+ # 删除语音提示
|
|
|
+ voice_qs = VoicePromptModel.objects.filter(uid=uid)
|
|
|
+ if voice_qs.exists():
|
|
|
+ voice_qs.delete()
|
|
|
+
|
|
|
+ # return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
|
|
|
+ ucode = request_dict.get('ucode', None)
|
|
|
+ version = request_dict.get('version', None)
|
|
|
+ p2p_region = request_dict.get('p2p_region', None)
|
|
|
+ tz = request_dict.get('tz', None)
|
|
|
+ video_code = request_dict.get('video_code', None)
|
|
|
+ ip = CommonService.get_ip_address(request)
|
|
|
+ channel = request_dict.get('channel', None)
|
|
|
+ cloud_vod = request_dict.get('cloud_vod', None)
|
|
|
+ push_status = request_dict.get('push_status', None)
|
|
|
+ pwd = request_dict.get('pwd', None)
|
|
|
+ resetTime = request_dict.get('resetTime', None)
|
|
|
+ is_alexa = request_dict.get('is_alexa', None)
|
|
|
+ is_human = request_dict.get('is_human', None)
|
|
|
+ is_custom_voice = request_dict.get('is_custom', None)
|
|
|
+ double_wifi = request_dict.get('double_wifi', None)
|
|
|
+
|
|
|
+ # 更新
|
|
|
+ qs_dict = {
|
|
|
+ 'updTime': nowTime,
|
|
|
+ 'ip': ip
|
|
|
+ }
|
|
|
+ if channel:
|
|
|
+ qs_dict['channel'] = channel
|
|
|
+ if p2p_region:
|
|
|
+ qs_dict['p2p_region'] = p2p_region
|
|
|
+ if ucode:
|
|
|
+ qs_dict['ucode'] = ucode
|
|
|
+ if version:
|
|
|
+ qs_dict['version'] = version
|
|
|
+ if tz:
|
|
|
+ qs_dict['tz'] = tz
|
|
|
+ if video_code:
|
|
|
+ qs_dict['video_code'] = video_code
|
|
|
+ if cloud_vod:
|
|
|
+ qs_dict['cloud_vod'] = cloud_vod
|
|
|
+ if push_status:
|
|
|
+ # 复位重置推送消息提醒
|
|
|
+ qs_dict['detect_status'] = 0 if is_reset == '1' else push_status
|
|
|
+ if pwd:
|
|
|
+ qs_dict['pwd'] = pwd
|
|
|
+ if is_human:
|
|
|
+ qs_dict['is_human'] = is_human
|
|
|
+ if is_custom_voice:
|
|
|
+ qs_dict['is_custom_voice'] = is_custom_voice
|
|
|
+ if double_wifi:
|
|
|
+ qs_dict['double_wifi'] = double_wifi
|
|
|
+
|
|
|
+ logger.info('{} qs_dict: {}'.format(uid, qs_dict))
|
|
|
+
|
|
|
+ us_qs = UidSetModel.objects.filter(uid=uid)
|
|
|
+ if us_qs.exists():
|
|
|
+ if is_alexa and us_qs[0].is_alexa == 0:
|
|
|
+ qs_dict['is_alexa'] = is_alexa
|
|
|
+ us_qs.update(**qs_dict)
|
|
|
+ # 如果推送状态开启,返回推送url
|
|
|
+ return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
|
|
|
+ # 新增
|
|
|
else:
|
|
|
- return JsonResponse(status=200, data={'code': 403, 'msg': 'error etk'})
|
|
|
+ if is_alexa:
|
|
|
+ qs_dict['is_alexa'] = is_alexa
|
|
|
+ qs_dict['uid'] = uid
|
|
|
+ qs_dict['addTime'] = nowTime
|
|
|
+ UidSetModel.objects.create(**qs_dict)
|
|
|
+ # 如果推送状态开启,返回推送url
|
|
|
+ return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
|
|
|
+
|