浏览代码

Merge branch 'dev' of ssh://192.168.136.45:10022/SERVER/AnsjerServer into dev

chenjunkai 5 年之前
父节点
当前提交
8db7d9d415
共有 5 个文件被更改,包括 150 次插入104 次删除
  1. 7 7
      Ansjer/local_settings.py
  2. 47 13
      Controller/PushDeploy.py
  3. 1 1
      Controller/SysMsg.py
  4. 93 81
      Controller/UidSetController.py
  5. 2 2
      Service/TemplateService.py

+ 7 - 7
Ansjer/local_settings.py

@@ -73,14 +73,14 @@ TEMPLATES = [
 WSGI_APPLICATION = 'Ansjer.local_wsgi.application'
 
 # 服务器类型
-DATABASE_DATA = 'AnsjerLocal'
-SERVER_HOST = '192.168.136.45'
-DATABASES_USER = 'ansjer'
-DATABASES_PASS = '1234'
 # DATABASE_DATA = 'AnsjerLocal'
-# SERVER_HOST = 'localhost'
-# DATABASES_USER = 'root'
-# DATABASES_PASS = '123456'
+# SERVER_HOST = '192.168.136.45'
+# DATABASES_USER = 'ansjer'
+# DATABASES_PASS = '1234'
+DATABASE_DATA = 'AnsjerLocal'
+SERVER_HOST = 'localhost'
+DATABASES_USER = 'root'
+DATABASES_PASS = '123456'
 DATABASES = {'default': {
     'ENGINE': 'django.db.backends.mysql',
     'NAME': DATABASE_DATA,

+ 47 - 13
Controller/PushDeploy.py

@@ -11,6 +11,7 @@
 @file: PushDeploy.py
 @Contact: pzb3076@163.com
 """
+import os
 import json
 import math
 
@@ -24,7 +25,7 @@ from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 import time
-
+from Ansjer.config import BASE_DIR
 
 class PushDeployView(View):
     @method_decorator(csrf_exempt)
@@ -53,28 +54,41 @@ class PushDeployView(View):
             return response.json(tko.code)
         userID = tko.userID
         if operation == 'adminAdd':
-            return self.do_add(request_dict, response,userID)
+            return self.do_add(request_dict, response,userID,request)
         elif operation == 'adminDelete':
             return self.do_delete(request_dict, response,userID)
         elif operation == 'adminUpdate':
-            return self.do_update(request_dict, response,userID)
+            return self.do_update(request_dict, response,userID, request)
         elif operation == 'adminQuery':
             return self.do_query(request_dict,response, userID)
         else:
             return response.json(414)
 
-    def do_add(self, request_dict, response, userID):
+    def do_add(self, request_dict, response, userID, request):
         own_perm = ModelService.check_perm(userID, 40)
         if not own_perm:
             return response.json(404)
         name = request_dict.get('name', None)
         key = request_dict.get('key', None)
         secret = request_dict.get('secret', None)
-        pem = request_dict.get('pem', None)
         type = request_dict.get('type', None)
         nowTime = int(time.time())
+        f = request.FILES.get('file', None)
+        rv_path=''
+        if f is not None:
+            rv_path = 'static/pem/' + f.name
+            path = os.path.join(BASE_DIR, rv_path)
+            try:
+                if os.path.exists(path):
+                    os.remove(path)
+                with open(path, 'wb+') as destination:
+                    for chunk in f.chunks():
+                        destination.write(chunk)
+            except Exception as e:
+                print('error:' + repr(e))
+                return response.json(700, {'details': repr(e)})
         try:
-            pushDeployModel.objects.create(addTime=nowTime, updTime=nowTime, name=name, key=key, secret=secret,pem=pem,
+            pushDeployModel.objects.create(addTime=nowTime, updTime=nowTime, name=name, key=key, secret=secret, pem=rv_path,
                                            type=type)
         except Exception as e:
             return response.json(10, repr(e))
@@ -118,7 +132,7 @@ class PushDeployView(View):
         else:
             return response.json(404)
 
-    def do_update(self, request_dict, response,userID):
+    def do_update(self, request_dict, response,userID,request):
         own_perm = ModelService.check_perm(userID, 30)
         if not own_perm:
             return response.json(404)
@@ -127,13 +141,33 @@ class PushDeployView(View):
         name = request_dict.get('name', None)
         key = request_dict.get('key', None)
         secret = request_dict.get('secret', None)
-        pem = request_dict.get('pem', None)
         type = request_dict.get('type', None)
-        try:
-            pushDeployModel.objects.filter(id=id).update(updTime=nowTime, name=name, key=key, secret=secret,pem=pem,
-                                                         type=type)
-        except Exception as e:
-            return response.json(10, repr(e))
+        f = request.FILES.get('file', None)
+        if f is not None:
+            rv_path = 'static/pem/' + f.name
+            path = os.path.join(BASE_DIR, rv_path)
+            try:
+                if os.path.exists(path):
+                    os.remove(path)
+                with open(path, 'wb+') as destination:
+                    for chunk in f.chunks():
+                        destination.write(chunk)
+            except Exception as e:
+                print('error:' + repr(e))
+                return response.json(700, {'details': repr(e)})
+            try:
+                pushDeployModel.objects.filter(id=id).update(updTime=nowTime, name=name, key=key, secret=secret,
+                                                             pem=rv_path,
+                                                             type=type)
+            except Exception as e:
+                return response.json(10, repr(e))
+        else:
+            try:
+                pushDeployModel.objects.filter(id=id).update(updTime=nowTime, name=name, key=key, secret=secret,
+                                                             type=type)
+            except Exception as e:
+                return response.json(10, repr(e))
+
         # res = list(pushDeployModel.objects.values())
         return response.json(0, {'updTime': nowTime})
 

+ 1 - 1
Controller/SysMsg.py

@@ -161,7 +161,7 @@ class SysMsgView(View):
             return response.json(444, 'page,line')
 
     def do_query_by_admin(self, userID, request_dict, response):
-        own_perm = ModelService.check_perm(userID, 30)
+        own_perm = ModelService.check_perm(userID, 20)
         if own_perm:
             page = request_dict.get('page', None)
             line = request_dict.get('line', None)

+ 93 - 81
Controller/UidSetController.py

@@ -20,7 +20,7 @@ from django.views.decorators.csrf import csrf_exempt
 from django.views.generic.base import View
 
 from Model.models import UidSetModel, Device_User, Device_Info, UidPushModel, Equipment_Info, UID_Preview, UID_Bucket, \
-    VodHlsModel, Order_Model, OssCrdModel
+    VodHlsModel, Order_Model, OssCrdModel,UidUserModel
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -106,90 +106,102 @@ class UidSetView(View):
 
     # 管理员删除
     def do_admin_delete(self, request_dict, userID, response):
-        own_perm = ModelService.check_perm(userID, 20)
+        own_perm = ModelService.check_perm(userID, 10)
         if own_perm is True:
             uid = request_dict.getlist('uid', None)
             id_list = request_dict.get('id_list', None)
-            try:
-                # 删除回滚
-                with transaction.atomic():  # 上下文格式,可以在python代码的任何位置使用
-                    if 'UidSetModel' in id_list:
-                        del_uid = UidSetModel.objects.filter(uid__in=uid)
-                        if del_uid.exists():
-                            del_uid.delete()
-                            print ('删除UidSetModel')
-                        else:
-                            print('UidSetModel表没有数据')
-                    if 'Equipment_Info' in id_list:
-                        del_uid = Equipment_Info.objects.filter(devUid__in=uid)
-                        if del_uid.exists():
-                            del_uid.delete()
-                            # print('删除Equipment_Info')
-                        else:
-                            print('Equipment_Info表没有数据')
-                    if 'UID_Preview' in id_list:
-                        del_uid = UID_Preview.objects.filter(uid__in=uid)
-                        if del_uid.exists():
-                            del_uid.delete()
-                            # print ('删除UID_Preview')
-                        else:
-                            print('UID_Preview表没有数据')
-                    if 'UID_Bucket' in id_list:
-                        del_uid = UID_Bucket.objects.filter(uid__in=uid)
-                        if del_uid.exists():
-                            del_uid.delete()
-                            # print ('删除UID_Bucket')
-                        else:
-                            print('UID_Bucket表没有数据')
-                    if 'VodHlsModel' in id_list:
-                        del_uid = VodHlsModel.objects.filter(uid__in=uid)
-                        if del_uid.exists():
-                            # del_uid.delete()
-                            print ('删除VodHlsModel')
-                        else:
-                            print('VodHlsModel表没有数据')
-                    if 'Order_Model' in id_list:
-                        del_uid = Order_Model.objects.filter(UID__in=uid)
-                        if del_uid.exists():
-                            del_uid.delete()
-                            # print ('删除Order_Model')
-                        else:
-                            print('Order_Model表没有数据')
-                    if 'Device_Info' in id_list:
-                        del_uid = Device_Info.objects.filter(UID__in=uid)
-                        if del_uid.exists():
-                            del_uid.delete()
-                            # print ('删除Device_Info')
-                        else:
-                            print('Order_Model表没有数据')
-                    if 'OssCrdModel' in id_list:
-                        del_uid = OssCrdModel.objects.filter(uid__in=uid)
-                        if del_uid.exists():
-                            del_uid.delete()
-                            # 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_Bucket ---uid---孤立,
-                    #有后台管理            云存回放信息表VodHlsModel ---uid---孤立,
-                    #有后台管理 订单信息表Order_Model --UID----独立没有儿子的,
-                    #有后台管理 用户设备信息表(最多信息量的表)Device_Info ---UID---孤立,
-                    #           设备证书OssCrdModel ---uid---孤立
-                    # 有后台管理 设备ap表 UidUserModel
-                    #设备绑定UidPushModel---关联表---设备配置表UidSetModel---配置表的详情有显示
+
+            # 删除回滚
+            with transaction.atomic():  # 上下文格式,可以在python代码的任何位置使用
+                val = 1
+                if 'UidSetModel' in id_list:
+                    del_uid = UidSetModel.objects.filter(uid__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        print ('删除UidSetModel')
+                    else:
+                        val = 1
+                        print('UidSetModel表没有数据')
+                if 'Equipment_Info' in id_list:
+                    del_uid = Equipment_Info.objects.filter(devUid__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        # print('删除Equipment_Info')
+                    else:
+                        val = val+1
+                        print('Equipment_Info表没有数据')
+                if 'UID_Preview' in id_list:
+                    del_uid = UID_Preview.objects.filter(uid__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        # print ('删除UID_Preview')
+                    else:
+                        val = val + 1
+                        print('UID_Preview表没有数据')
+                if 'UID_Bucket' in id_list:
+                    del_uid = UID_Bucket.objects.filter(uid__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        # print ('删除UID_Bucket')
+                    else:
+                        val = val + 1
+                        print('UID_Bucket表没有数据')
+                if 'VodHlsModel' in id_list:
+                    del_uid = VodHlsModel.objects.filter(uid__in=uid)
+                    if del_uid.exists():
+                        # del_uid.delete()
+                        print ('删除VodHlsModel')
+                    else:
+                        val = val + 1
+                        print('VodHlsModel表没有数据')
+                if 'Order_Model' in id_list:
+                    del_uid = Order_Model.objects.filter(UID__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        # print ('删除Order_Model')
+                    else:
+                        val = val + 1
+                        print('Order_Model表没有数据')
+                if 'Device_Info' in id_list:
+                    del_uid = Device_Info.objects.filter(UID__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        # print ('删除Device_Info')
+                    else:
+                        val = val + 1
+                        print('Order_Model表没有数据')
+                if 'OssCrdModel' in id_list:
+                    del_uid = OssCrdModel.objects.filter(uid__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        # print ('删除OssCrdModel')
+                    else:
+                        val = val + 1
+                        print('OssCrdModel表没有数据')
+                if 'UidUserModel' in id_list:
+                    del_uid = UidUserModel.objects.filter(UID__in=uid)
+                    if del_uid.exists():
+                        del_uid.delete()
+                        # print ('删除UidUserModel')
+                    else:
+                        val = val + 1
+                        print('UidUserModel表没有数据')
+                #有后台管理 设备配置表UidSetModel ---uid --本身,
+                #有后台管理 设备关联用户推送表Equipment_Info --devUid --独立没有儿子的,
+                #有后台管理             设备预览图表UID_Preview ---uid---孤立,
+                #有后台管理 设备关联套餐表UID_Bucket ---uid---孤立,
+                #有后台管理            云存回放信息表VodHlsModel ---uid---孤立,
+                #有后台管理 订单信息表Order_Model --UID----独立没有儿子的,
+                #有后台管理 用户设备信息表(最多信息量的表)Device_Info ---UID---孤立,
+                #           设备证书OssCrdModel ---uid---孤立
+                # 有后台管理 设备ap表 UidUserModel
+                #设备绑定UidPushModel---关联表---设备配置表UidSetModel---配置表的详情有显示
+
+                # raise DatabaseError     #测试用,检测是否能捕捉错误
+                if val == 9:
+                    return response.json(173)
+                else:
                     return response.json(0)
-                    # raise DatabaseError     #测试用,检测是否能捕捉错误
-            except DatabaseError:  # 自动回滚,不需要任何操作
-                pass
         else:
             return response.json(404)
 

+ 2 - 2
Service/TemplateService.py

@@ -67,12 +67,12 @@ class TemplateService:
             'equipment/flowUpdate',
             'wechat/authsign',
             # 'user/initInfo',
-
             'wechat/perfect',
             'oauth/perfect',
             'oauth/authcode',
             'detect/queryInfo',
-            'deviceShadow/update'
+            'deviceShadow/update',
+            'uidset/adminDelete'
         ]
         return apiList