Просмотр исходного кода

设备证书,设备ap,设备预览图的后台管理接口

pzb 5 лет назад
Родитель
Сommit
6d7e57c6a9
4 измененных файлов с 216 добавлено и 8 удалено
  1. 4 2
      Ansjer/urls.py
  2. 111 0
      Controller/OssCrd.py
  3. 10 3
      Controller/UidSetController.py
  4. 91 3
      Controller/UidUser.py

+ 4 - 2
Ansjer/urls.py

@@ -7,7 +7,7 @@ from Controller import FeedBack, EquipmentOTA, EquipmentInfo, AdminManage, AppIn
     EquipmentManager, LogManager, PermissionManager, OTAEquipment, shareUserPermission, UidSetController, \
     UserManger, CheckUserData, \
     UserController, CloudVod, OrderContrller, VodBucket, DetectController, DeviceShare, UserBrandController, \
-    StsOssController, UIDPreview, SysMsg, UidUser, EquipmentManagerV2
+    StsOssController, UIDPreview, OssCrd, SysMsg, UidUser, EquipmentManagerV2
 
 urlpatterns = [
     url(r'^account/authcode$', UserController.authCodeView.as_view()),
@@ -163,12 +163,14 @@ urlpatterns = [
     url(r'^uiduser/query', UidUser.queryInterface),
     url(r'^uiduser/update', UidUser.updateInterface),
     url(r'^uiduser/delete', UidUser.deleteInterface),
-
+    url(r'^uid_user/(?P<operation>.*)$', UidUser.UidUserView.as_view()),
     # add query update delete
     url(r'^v2/equipment/(?P<operation>.*)$', EquipmentManagerV2.EquipmentManagerV2.as_view()),
 
     url(r'^msg/init', SysManage.initMsgFunc),
 
+    url(r'^oss_crd/(?P<operation>.*)$', OssCrd.OssCrdView.as_view()),
+
     # app 设备消息模板
     # 路由加参数参考
     # url(r'^(?P<path>.*)/(?P<UID>.*)/lls$', Test.Test.as_view(), name=u'gg'),

+ 111 - 0
Controller/OssCrd.py

@@ -0,0 +1,111 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+@Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
+@AUTHOR: ASJRD019
+@NAME: AnsjerFormal
+@software: PyCharm
+@DATE: 2019/12/17 15:50
+@Version: python3.6
+@MODIFY DECORD:ansjer dev
+@file: AliPayObject.py
+@Contact: pzb3076@163.com
+"""
+
+import re
+import time
+import simplejson as json
+from django.utils.decorators import method_decorator
+from django.views.decorators.csrf import csrf_exempt
+from django.views.generic.base import View
+
+from Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEY
+from Model.models import UID_Bucket, UID_Preview, OssCrdModel
+from Object.ResponseObject import ResponseObject
+from Object.TokenObject import TokenObject
+from Service.CommonService import CommonService
+from Service.ModelService import ModelService
+# 设备证书
+class OssCrdView(View):
+    @method_decorator(csrf_exempt)
+    def dispatch(self, *args, **kwargs):
+        return super(OssCrdView, self).dispatch(*args, **kwargs)
+
+    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()
+        if operation is None:
+            return response.json(444, 'error path')
+        token = request_dict.get('token', None)
+        # 设备主键uid
+        tko = TokenObject(token)
+        response.lang = tko.lang
+        if tko.code != 0:
+            return response.json(tko.code)
+        userID = tko.userID
+        if operation == 'adminDelete':
+            return self.do_admin_delete(request_dict, userID, response)
+        elif operation == 'adminQuery':
+            return self.do_admin_query(request_dict, userID, response)
+        else:
+            return response.json(444, 'error path')
+
+    # 管理员删除
+    def do_admin_delete(self, request_dict, userID, response):
+        own_perm = ModelService.check_perm(userID, 20)
+        if own_perm is True:
+            id = request_dict.getlist('id', None)
+            uid_user_qs = OssCrdModel.objects.filter(id__in=id)
+            if uid_user_qs.exists():
+                uid_user_qs.delete()
+                return response.json(0)
+            else:
+                return response.json(173)
+        else:
+            return response.json(404)
+
+    # 管理员查询接口
+    def do_admin_query(self, request_dict, userID, response):
+        own_perm = ModelService.check_perm(userID, 20)
+        if own_perm is True:
+            page = request_dict.get('page', None)
+            line = request_dict.get('line', None)
+            page = int(page)
+            line = int(line)
+            deviceContent = request_dict.get('content', None)
+            if deviceContent:
+                try:
+                    searchCondition = json.loads(deviceContent)
+                except Exception as e:
+                    return response.json(10, repr(e))
+                else:
+                    kwargs = CommonService.get_kwargs(data=searchCondition)
+                    omqs = OssCrdModel.objects.filter(**kwargs).order_by('-id')
+                    if not omqs.exists():
+                        return response.json(0, [])
+                    count = omqs.count()
+                    order_ql = omqs[(page - 1) * line:page * line]
+                    uidset_json = CommonService.qs_to_dict(order_ql)
+                    uidset_json['count'] = count
+                    return response.json(0, uidset_json)
+            else:
+                omqs = OssCrdModel.objects.all().order_by('-id')
+                if not omqs.exists():
+                    return response.json(0, [])
+                count = omqs.count()
+                order_ql = omqs[(page - 1) * line:page * line]
+                uidset_json = CommonService.qs_to_dict(order_ql)
+                uidset_json['count'] = count
+                return response.json(0, uidset_json)
+        else:
+            return response.json(404)
+

+ 10 - 3
Controller/UidSetController.py

@@ -169,15 +169,22 @@ class UidSetView(View):
                             # print ('删除OssCrdModel')
                         else:
                             print('OssCrdModel表没有数据')
+                    if 'UidUserModel' in id_list:
+                        del_uid = UidUserModel.objects.filter(UID__in=id)
+                        if del_uid.exists():
+                            del_uid.delete()
+                            # print ('删除UidUserModel')
+                        else:
+                            print('UidUserModel表没有数据')
                     #有后台管理 设备配置表UidSetModel ---uid --本身,
                     #有后台管理 设备关联用户推送表Equipment_Info --devUid --独立没有儿子的,
-                    #             设备预览图表UID_Preview ---uid---孤立,
+                    #有后台管理             设备预览图表UID_Preview ---uid---孤立,
                     #有后台管理 设备关联套餐表UID_Bucket ---uid---孤立,
-                    #            云存回放信息表VodHlsModel ---uid---孤立,
+                    #有后台管理            云存回放信息表VodHlsModel ---uid---孤立,
                     #有后台管理 订单信息表Order_Model --UID----独立没有儿子的,
                     #有后台管理 用户设备信息表(最多信息量的表)Device_Info ---UID---孤立,
                     #           设备证书OssCrdModel ---uid---孤立
-
+                    # 有后台管理 设备ap表 UidUserModel
                     #设备绑定UidPushModel---关联表---设备配置表UidSetModel---配置表的详情有显示
                     return response.json(0)
                     # raise DatabaseError     #测试用,检测是否能捕捉错误

+ 91 - 3
Controller/UidUser.py

@@ -15,8 +15,10 @@
 
 import re
 import time
-
-import oss2
+import simplejson as json
+from django.utils.decorators import method_decorator
+from django.views.decorators.csrf import csrf_exempt
+from django.views.generic.base import View
 
 from Ansjer.config import OSS_STS_ACCESS_SECRET, OSS_STS_ACCESS_KEY
 from Model.models import UID_Bucket, UID_Preview, UidSetModel
@@ -24,7 +26,7 @@ from Model.models import UidUserModel
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
-
+from Service.ModelService import ModelService
 '''
 http://192.168.136.40:8077/uiduser/add?token=local&UID=z123asdfqwerzxcvqw12&NickName=xxoxox&View_Account=user&View_Password=password&ChannelIndex=8&is_ap=1&Type=5&NickName=1234zcxv
 http://192.168.136.40:8077/uiduser/query?token=local&page=1&line=10&is_ap=1&NickName=1234zcxv&uid=zxcvasdfqwerzxcvqwer
@@ -257,3 +259,89 @@ def deleteInterface(request):
             return response.json(tko.code)
     else:
         return response.json(444, {'param': 'token,id,is_ap'})
+
+
+# 设备信息添加
+class UidUserView(View):
+    @method_decorator(csrf_exempt)
+    def dispatch(self, *args, **kwargs):
+        return super(UidUserView, self).dispatch(*args, **kwargs)
+
+    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()
+        if operation is None:
+            return response.json(444, 'error path')
+        token = request_dict.get('token', None)
+        # 设备主键uid
+        tko = TokenObject(token)
+        response.lang = tko.lang
+        if tko.code != 0:
+            return response.json(tko.code)
+        userID = tko.userID
+        if operation == 'adminDelete':
+            return self.do_admin_delete(request_dict, userID, response)
+        elif operation == 'adminQuery':
+            return self.do_admin_query(request_dict, userID, response)
+        else:
+            return response.json(444, 'error path')
+
+    # 管理员删除
+    def do_admin_delete(self, request_dict, userID, response):
+        own_perm = ModelService.check_perm(userID, 20)
+        if own_perm is True:
+            id = request_dict.getlist('id', None)
+            uid_user_qs = UidUserModel.objects.filter(id__in=id)
+            if uid_user_qs.exists():
+                uid_user_qs.delete()
+                return response.json(0)
+            else:
+                return response.json(173)
+        else:
+            return response.json(404)
+
+    # 管理员查询接口
+    def do_admin_query(self, request_dict, userID, response):
+        own_perm = ModelService.check_perm(userID, 20)
+        if own_perm is True:
+            page = request_dict.get('page', None)
+            line = request_dict.get('line', None)
+            page = int(page)
+            line = int(line)
+            deviceContent = request_dict.get('content', None)
+            if deviceContent:
+                try:
+                    searchCondition = json.loads(deviceContent)
+                except Exception as e:
+                    return response.json(10, repr(e))
+                else:
+                    kwargs = CommonService.get_kwargs(data=searchCondition)
+                    omqs = UidUserModel.objects.filter(**kwargs).order_by('-id')
+                    if not omqs.exists():
+                        return response.json(0, [])
+                    count = omqs.count()
+                    order_ql = omqs[(page - 1) * line:page * line]
+                    uidset_json = CommonService.qs_to_dict(order_ql)
+                    uidset_json['count'] = count
+                    return response.json(0, uidset_json)
+            else:
+                omqs = UidUserModel.objects.all().order_by('-id')
+                if not omqs.exists():
+                    return response.json(0, [])
+                count = omqs.count()
+                order_ql = omqs[(page - 1) * line:page * line]
+                uidset_json = CommonService.qs_to_dict(order_ql)
+                uidset_json['count'] = count
+                return response.json(0, uidset_json)
+        else:
+            return response.json(404)
+