소스 검색

新增分享设备上限接口

zhangdongming 1 년 전
부모
커밋
463b108cb9
2개의 변경된 파일31개의 추가작업 그리고 2개의 파일을 삭제
  1. 25 0
      Controller/DeviceShare.py
  2. 6 2
      Object/ResponseObject.py

+ 25 - 0
Controller/DeviceShare.py

@@ -60,6 +60,8 @@ class DeviceShareView(View):
                     return self.do_delete_user(userID, request_dict, response)
                 elif operation == 'deleteUserV2':
                     return self.do_delete_userV2(userID, request_dict, response)
+                elif operation == 'getDeviceShareCount':
+                    return self.get_device_share_count(request_dict, response)
                 else:
                     return response.json(414)
             else:
@@ -67,11 +69,34 @@ class DeviceShareView(View):
         else:
             return response.json(444, {'param': 'token'})
 
+    @classmethod
+    def get_device_share_count(cls, request_dict, response):
+        """
+        获取设备分享总数
+        """
+        try:
+            uid = request_dict.get('uid', None)
+            if not uid:
+                return response.json(444)
+            d_share_user_qs = Device_Info.objects.filter(UID=uid, isShare=True)
+            if d_share_user_qs.count() >= 5:
+                return response.json(10070)
+            return response.json(0, {'total': d_share_user_qs.count()})
+        except Exception as e:
+            print(e)
+            return response.json(503)
+
     def do_generate_token_url(self, userID, request_dict, response):
+        """
+        APP主用户通过二维码分享设备
+        """
         UID = request_dict.get('UID', None)
         dvqs = Device_Info.objects.filter(UID=UID, userID_id=userID, isShare=False).values('NickName')
         userqs = Device_User.objects.filter(userID=userID).values('username', 'userEmail', 'phone', 'userIconPath')
         if dvqs:
+            d_share_user_qs = Device_Info.objects.filter(UID=UID, isShare=True)
+            if d_share_user_qs.count() >= 5:
+                return response.json(10070)
             data = {'sharer': userID, 'UID': UID}
             # -----------------
             # share_token = jwt.encode(data, '.#^^&', algorithm='HS256').decode('utf-8')

+ 6 - 2
Object/ResponseObject.py

@@ -140,7 +140,9 @@ class ResponseObject(object):
             10066: 'This code has been redeemed and can be viewed in Settings-4G-My Package',
             10067: 'Invalid redemption code',
             10068: 'This device does not support redemption, please contact customer service',
-            10069: 'If the traffic is abnormal, check the data plan or contact customer service'
+            10069: 'If the traffic is abnormal, check the data plan or contact customer service',
+            10070: 'This device sharing limit has been reached',
+            503: 'The operation failed, please try again later'
         }
         data_cn = {
             0: '成功',
@@ -267,7 +269,9 @@ class ResponseObject(object):
             10066: '\t此码已兑换\n可在设置-4G-我的套餐中查看',
             10067: '无效兑换码',
             10068: '兑换失败,请联系客服',
-            10069: '流量异常,请查看流量套餐情况或联系客服'
+            10069: '流量异常,请查看流量套餐情况或联系客服',
+            10070: '此设备分享已达上限',
+            503: '操作失败,请稍后重试'
         }
 
         msg = data_cn if self.lang == 'cn' or self.lang == 'zh-Hans' or self.lang == 'zh-Hant' else data_en