#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved. @AUTHOR: ASJRD018 @NAME: AnsjerPush @software: PyCharm @DATE: 2020/2/14 13:54 @Version: python3.6 @MODIFY DECORD:ansjer dev @file: ShadowController.py @Contact: chanjunkai@163.com """ # 测试环境 # test.shadow.dvema.com # 生产环境 # shadow.dvema.com # 设备影子更新 from Object.ResponseObject import ResponseObject from Object.ETkObject import ETkObject import time from Model.models import Device_Info,UidSetModel 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() if request.method == 'GET': request_dict = request.GET 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) if username and password: if username == 'debug_user' and password == 'debug_password': utko = UidTokenObject() # right utko.generate(data={'uid': uid}) return response.json(0, {'uidToken': utko.token}) else: return response.json(404) else: return response.json(444,'username password') def update_device_shadow(request): request.encoding = 'utf-8' response = ResponseObject() if request.method == 'POST': request_dict = request.POST elif request.method == 'GET': request_dict = request.GET else: return response.json(444) 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() # 重置设备,判断设备为已删除 Device_Info.objects.filter(UID=uid).update(isExist=2) 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) us_qs = UidSetModel.objects.filter(uid=uid) # 更新 nowTime = int(time.time()) print('-------') print(resetTime) print('-------') if us_qs.exists(): update_dict = { 'updTime': nowTime, 'ip': ip } if channel: update_dict['channel'] = channel if p2p_region: update_dict['p2p_region'] = p2p_region if ucode: update_dict['ucode'] = ucode if version: update_dict['version'] = version if tz: update_dict['tz'] = tz if video_code: update_dict['video'] = video_code if cloud_vod: update_dict['cloud_vod'] = cloud_vod if push_status: update_dict['detect_status'] = push_status if pwd: update_dict['pwd'] = pwd us_qs.update(**update_dict) # 如果推送状态开启,返回推送url data = {} return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}}) # 新增 else: create_dict = { 'uid': uid, 'addTime': nowTime, 'updTime': nowTime, 'ip': ip } if channel: create_dict['channel'] = channel if p2p_region: create_dict['p2p_region'] = p2p_region if ucode: create_dict['ucode'] = ucode if version: create_dict['version'] = version if tz: create_dict['tz'] = tz if video_code: create_dict['video_code'] = video_code if cloud_vod: create_dict['cloud_vod'] = cloud_vod if push_status: create_dict['detect_status'] = push_status if pwd: create_dict['pwd'] = pwd if resetTime: create_dict['resetTime'] = resetTime UidSetModel.objects.create(**create_dict) # 如果推送状态开启,返回推送url return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}}) else: return JsonResponse(status=200, data={'code': 403, 'msg': 'error etk'})