浏览代码

新增激活云盘功能

guanhailong 2 年之前
父节点
当前提交
d2803d20c9
共有 1 个文件被更改,包括 53 次插入2 次删除
  1. 53 2
      Controller/IcloudService/IcloudMeal.py

+ 53 - 2
Controller/IcloudService/IcloudMeal.py

@@ -60,6 +60,8 @@ class IcloudMeal(View):
                 return self.get_cloud_drive_init(request_dict, response, user_id)
             elif operation == 'getCapacity':  # 获取容量
                 return self.get_capacity(response, user_id)
+            elif operation == 'activateCloudDrive':  # 激活云盘
+                return self.activate_cloud_drive(request_dict, response, user_id)
             else:
                 return response.json(414)
 
@@ -85,7 +87,7 @@ class IcloudMeal(View):
             for cloud_drive in store_list:
                 cloud_drive['title'] = cloud_drive.pop('lang__title')
                 cloud_drive['content'] = cloud_drive.pop('lang__content')
-                pay_type_qs = Pay_Type.objects.filter(icloudstoremeal=cloud_drive['pay_type']).values("id", "payment")
+                pay_type_qs = Pay_Type.objects.filter(id=cloud_drive['pay_type']).values("id", "payment")
                 cloud_drive['pay_type'] = list(pay_type_qs)
             return response.json(0, store_list)
         except Exception as e:
@@ -557,4 +559,53 @@ class IcloudMeal(View):
             return response.json(0, data)
         except Exception as e:
             logging.info('异常错误,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-            return response.json(500, e)
+            return response.json(500, e)
+
+    @staticmethod
+    def activate_cloud_drive(request_dict, response, user_id):
+        """
+        激活云盘
+        @param request_dict: 请求数据
+        @param user_id: 用户id
+        @param response: 响应
+        @return: response
+        """
+        is_cloudDrive = request_dict.get('isCloudDrive', 0)
+        if not is_cloudDrive:
+            return response.json(444)
+        is_cloudDrive = int(is_cloudDrive)
+        if is_cloudDrive != 1:
+            return response.json(10063)
+        # 过滤已激活的用户
+        device_user_qs = Device_User.objects.filter(userID=user_id, is_cloudDrive=1)
+        if device_user_qs.exists():
+            return response.json(174)
+        nowTime = int(time.time())
+        try:
+            # 云盘使用
+            cloud_Use_data = {
+                'use_size': 0,
+                'add_time': nowTime,
+                'upd_time': nowTime,
+                'detect_status': 1,
+                'user_id': user_id,
+                'bucket_id': 29
+            }
+            cloud_use_qs = IcloudUseDetails.objects.create(**cloud_Use_data)
+            # 云盘服务
+            cloud_service_data = {
+                'size': 1,
+                'end_time': 0,
+                'add_time': nowTime,
+                'upd_time': nowTime,
+                'use_status': 0,
+                'use_details_id': cloud_use_qs.id,
+                'type': 0,
+                'order_id': 0
+            }
+            IcloudService.objects.create(**cloud_service_data)
+            Device_User.objects.filter(userID=user_id).update(is_cloudDrive=1)
+            return response.json(0)
+        except Exception as e:
+            logging.info('异常错误,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+            return response.json(500, e)