瀏覽代碼

Merge branch 'test' of http://192.168.136.99:3000/servers/ASJServer into peng

peng 2 年之前
父節點
當前提交
f03c4ce47a
共有 3 個文件被更改,包括 33 次插入10 次删除
  1. 2 0
      Controller/CloudStorage.py
  2. 29 10
      Controller/UserDevice/UserDeviceShareController.py
  3. 2 0
      Object/ResponseObject.py

+ 2 - 0
Controller/CloudStorage.py

@@ -1179,6 +1179,8 @@ class CloudStorageView(View):
 
         order_qs = Order_Model.objects.filter(UID=uid, rank__bucket__mold=is_mold)
         if order_qs.exists():
+            if is_mold == 1:
+                return response.json(10060)
             return response.json(10041)
 
         order_id = CommonService.createOrderID()

+ 29 - 10
Controller/UserDevice/UserDeviceShareController.py

@@ -10,9 +10,11 @@ import logging
 import time
 
 from django.db import transaction
+from django.db.models import Q
 from django.views import View
 
-from Model.models import DeviceSharePermission, DeviceChannelUserSet, DeviceChannelUserPermission, UidChannelSetModel
+from Model.models import DeviceSharePermission, DeviceChannelUserSet, DeviceChannelUserPermission, UidChannelSetModel, \
+    Device_Info
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.UserDeviceService import UserDeviceService
@@ -42,6 +44,8 @@ class UserDeviceShareView(View):
             return self.get_user_share_permission(request_dict, response)
         elif operation == 'permissions-save':
             return self.user_channel_permission_save(request_dict, response)
+        elif operation == 'permissions-test':
+            return self.synch_share_device_permission(response)
         else:
             return response.json(404)
 
@@ -146,19 +150,19 @@ class UserDeviceShareView(View):
         try:
             if not all([user_id, uid]):
                 return False
-            UserDeviceService.update_device_channel(uid)
-            channel_qs = UidChannelSetModel.objects.filter(uid__uid=uid).values('channel')
-            if not channel_qs.exists():
-                return False
-            channel_list = [str(val['channel']) for val in channel_qs]
-            channel_str = ','.join(channel_list)
             with transaction.atomic():
-                now_time = int(time.time())
-                device_set = {'uid': uid, 'user_id': user_id, 'channels': channel_str,
-                              'created_time': now_time, 'updated_time': now_time}
                 ds_qs = DeviceChannelUserSet.objects.filter(user_id=user_id, uid=uid)
                 if ds_qs.exists():
                     return True
+                UserDeviceService.update_device_channel(uid)
+                channel_qs = UidChannelSetModel.objects.filter(uid__uid=uid).values('channel')
+                if not channel_qs.exists():
+                    return False
+                channel_list = [str(val['channel']) for val in channel_qs]
+                channel_str = ','.join(channel_list)
+                now_time = int(time.time())
+                device_set = {'uid': uid, 'user_id': user_id, 'channels': channel_str,
+                              'created_time': now_time, 'updated_time': now_time}
                 device_user_set = DeviceChannelUserSet.objects.create(**device_set)
                 channel_permission_qs = DeviceSharePermission.objects \
                     .all().values('id', 'code').order_by('sort')
@@ -174,3 +178,18 @@ class UserDeviceShareView(View):
         except Exception as e:
             LOGGER.info('异常详情,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
             return False
+
+    @staticmethod
+    def synch_share_device_permission(response):
+        """
+        同步分析设备权限
+        @param response: 响应结果
+        """
+        device_info_qs = Device_Info.objects \
+            .filter(~Q(Type__in=[1, 2, 3, 4, 10001]), ~Q(primaryUserID=''), isShare=1) \
+            .values('userID_id', 'UID').order_by('-data_joined')
+        if not device_info_qs.exists():
+            return response.json(0)
+        for item in device_info_qs:
+            UserDeviceShareView.qrcode_share_channel_permission_save(item['userID_id'], item['UID'])
+        return response.json(0)

+ 2 - 0
Object/ResponseObject.py

@@ -122,6 +122,7 @@ class ResponseObject(object):
             10057: "Can't delete",
             10058: 'Default family cannot be deleted',
             10059: 'Order deactivation failure',
+            10060: 'This device has purchased foreign cloud storage package, so it cannot buy domestic cloud storage package',
         }
         data_cn = {
             0: '成功',
@@ -234,6 +235,7 @@ class ResponseObject(object):
             10057: '不能删除',
             10058: '默认家庭不能删除',
             10059: '订单停用失败',
+            10060: '此设备已购买过国外云存套餐,无法购买国内云存套餐',
         }
 
         msg = data_cn if self.lang == 'cn' or self.lang == 'zh-Hans' or self.lang == 'zh-Hant' else data_en