Browse Source

云存储桶的增删改查

locky 4 years ago
parent
commit
cbed5e1142

+ 76 - 7
AdminController/ServeManagementController.py

@@ -47,11 +47,18 @@ class serveManagement(View):
                 return self.getVodBucketList(userID, request_dict, response)
             elif operation == 'addOrEditVodBucket':
                 return self.addOrEditVodBucket(userID, request_dict, response)
+            elif operation == 'deleteVodBucket':
+                return self.deleteVodBucket(userID, request_dict, response)
             else:
                 return response.json(404)
 
     def getVodBucketList(self, userID, request_dict, response):
-        # 获取存储桶列表
+        # 查询存储桶数据
+        print('request_dict: ', request_dict)
+
+        bucket = request_dict.get('bucket', None)
+        mold = request_dict.get('mold', None)
+        is_free = request_dict.get('is_free', None)
         pageNo = request_dict.get('pageNo', None)
         pageSize = request_dict.get('pageSize', None)
 
@@ -61,27 +68,39 @@ class serveManagement(View):
         page = int(pageNo)
         line = int(pageSize)
         try:
-            vod_bucket_qs = VodBucketModel.objects.filter().all()
-            count = vod_bucket_qs.count()
+            if bucket or mold or is_free:   # 条件查询
+                if bucket:
+                    vod_bucket_qs = VodBucketModel.objects.filter(
+                        bucket=bucket)
+                elif mold:
+                    vod_bucket_qs = VodBucketModel.objects.filter(
+                        mold=int(mold))
+                elif is_free:
+                    vod_bucket_qs = VodBucketModel.objects.filter(
+                        is_free=int(is_free))
+            else:   # 查询全部
+                vod_bucket_qs = VodBucketModel.objects.filter().all()
+            total = len(vod_bucket_qs)
             vod_buckets = vod_bucket_qs[(page - 1) * line:page * line]
             vod_bucket_list = []
             for vod_bucket in vod_buckets:
                 vod_bucket_list.append({
+                    'bucketID': vod_bucket.id,
                     'bucket': vod_bucket.bucket,
-                    'storeDay': vod_bucket.storeDay,
                     'content': vod_bucket.content,
-                    'endpoint': vod_bucket.endpoint,
+                    'mold': vod_bucket.mold,
                     'area': vod_bucket.area,
                     'region': vod_bucket.region,
+                    'endpoint': vod_bucket.endpoint,
                     'is_free': vod_bucket.is_free,
-                    'mold': vod_bucket.mold,
+                    'storeDay': vod_bucket.storeDay,
                     'region_id': vod_bucket.region_id,
                     'addTime': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(vod_bucket.addTime)),
                     'updTime': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(vod_bucket.updTime)),
                 })
             print('vod_bucket_list: ', vod_bucket_list)
             return response.json(
-                0, {'list': vod_bucket_list, 'total': count})
+                0, {'list': vod_bucket_list, 'total': total})
         except Exception as e:
             print(e)
             return response.json(500, repr(e))
@@ -89,7 +108,57 @@ class serveManagement(View):
     def addOrEditVodBucket(self, userID, request_dict, response):
         # 添加/编辑存储桶
         print('request_dict: ', request_dict)
+        bucketID = request_dict.get('bucketID', None)
+        bucket = request_dict.get('bucket', '').strip()   # 移除字符串头尾的空格
+        content = request_dict.get('content', '').strip()
+        mold = int(request_dict.get('mold', 1))
+        area = request_dict.get('area', '').strip()
+        region = request_dict.get('region', '').strip()
+        endpoint = request_dict.get('endpoint', '').strip()
+        is_free = int(request_dict.get('is_free', 0))
+        storeDay = int(request_dict.get('storeDay', 0))
+        region_id = int(request_dict.get('region_id', 1))
+        isEdit = request_dict.get('isEdit', None)
+
+        if not all([bucket, content, area, region, endpoint]):
+            return response.json(444)
+
+        try:
+            now_time = int(time.time())
+            vod_bucket_data = {
+                'bucket': bucket,
+                'content': content,
+                'mold': mold,
+                'area': area,
+                'region': region,
+                'endpoint': endpoint,
+                'is_free': is_free,
+                'storeDay': storeDay,
+                'region_id': region_id,
+                'addTime': now_time,
+                'updTime': now_time,
+            }
+            if isEdit:
+                if not bucketID:
+                    return response.json(444)
+                VodBucketModel.objects.filter(
+                    id=bucketID).update(
+                    **vod_bucket_data)
+            else:
+                VodBucketModel.objects.create(**vod_bucket_data)
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
+
+    def deleteVodBucket(self, userID, request_dict, response):
+        # 删除存储桶
+        print('request_dict: ', request_dict)
+        bucketID = request_dict.get('bucketID', None)
+        if not bucketID:
+            return response.json(444)
         try:
+            VodBucketModel.objects.filter(id=bucketID).delete()
             return response.json(0)
         except Exception as e:
             print(e)

+ 2 - 2
AdminController/UserManageController.py

@@ -340,7 +340,7 @@ class UserManagement(View):
 
             else:
                 device_user_qs = Device_User.objects.filter().all()  # 查询全部
-            count = device_user_qs.count()
+            total = len(device_user_qs)
             device_users = device_user_qs[(page - 1) * line:page * line]
             user_list = []
             for device_user in device_users:
@@ -358,7 +358,7 @@ class UserManagement(View):
                     'online': device_user.online,
                 })
             print('user_list: ', user_list)
-            return response.json(0, {'list': user_list, 'total': count})
+            return response.json(0, {'list': user_list, 'total': total})
         except Exception as e:
             print(e)
             return response.json(500, repr(e))