| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | #!/usr/bin/env python3  # -*- coding: utf-8 -*-  """@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.@AUTHOR: ASJRD018@NAME: AnsjerFormal@software: PyCharm@DATE: 2019/5/13 17:35@Version: python3.6@MODIFY DECORD:ansjer dev@file: UIDPreview.py@Contact: chanjunkai@163.com"""# !/usr/bin/env python3# -*- coding: utf-8 -*-"""@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.@AUTHOR: ASJRD018@NAME: AnsjerFormal@software: PyCharm@DATE: 2018/12/6 10:53@Version: python3.6@MODIFY DECORD:ansjer dev@file: OrderContrller.py@Contact: chanjunkai@163.com"""import timeimport oss2from django.views.generic.base import Viewfrom Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEYfrom Model.models import UID_Preview, Device_Infofrom Object.ResponseObject import ResponseObjectfrom Object.TokenObject import TokenObject'''# 获取所有设备下单信息http://192.168.136.40:8077/order/querylist?token=local&page=1&line=10'''# 设备信息添加class UIDPreview(View):    def get(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        return self.validation(request.GET, request, operation)    def post(self, request, *args, **kwargs):        request.encoding = 'utf-8'        operation = kwargs.get('operation')        return self.validation(request.POST, request, operation)    def validation(self, request_dict, request, operation):        response = ResponseObject()        token = request_dict.get('token', None)        # 设备主键uid        tko = TokenObject(token)        if tko.code == 0:            response.lang = tko.lang            userID = tko.userID            if operation == 'add':                return self.do_add(userID, request_dict, response)            # if operation == 'query':            #     return self.do_query(userID, request_dict, response)            else:                return response.json(414)        else:            return response.json(tko.code)    def do_add(self, userID, request_dict, response):        nowTime = int(time.time())        uid = request_dict.get('uid', None)        channel = request_dict.get('channel', None)        if all([uid, channel]):            # auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)            # bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'apg')            auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)            bucket = oss2.Bucket(auth, 'oss-cn-hongkong.aliyuncs.com', 'statres')            dvqs = Device_Info.objects.filter(UID=uid, userID_id=userID)            upqs = UID_Preview.objects.filter(uid=uid, channel=channel)            if dvqs.exists():                if upqs.exists():                    try:                        is_update = upqs.update(updTime=nowTime)                    except Exception as e:                        print(repr(e))                        return response.json(177)                    else:                        if is_update:                            obj = 'uid_preview/{uid}/channel_{channel}.png'.format(uid=uid, channel=channel)                            # 设置此签名URL在60秒内有效。                            url = bucket.sign_url('PUT', obj, 7200)                            return response.json(0, url)                        else:                            return response.json(177)                else:                    create_data = {                        'addTime': nowTime,                        'updTime': nowTime,                        'uid': uid,                        'channel': channel                    }                    try:                        UID_Preview.objects.create(**create_data)                    except Exception as e:                        print(repr(e))                        return response.json(178)                    else:                        obj = 'uid_preview/{uid}/channel_{channel}.png'.format(uid=uid, channel=channel)                        # 设置此签名URL在60秒内有效。                        url = bucket.sign_url('PUT', obj, 7200)                        return response.json(0, url)            else:                return response.json(14)        else:            return response.json(444, 'uid,channel')
 |