Selaa lähdekoodia

判断region_id是否有效,新增根据序列号状态确认uid地区接口

locky 3 vuotta sitten
vanhempi
commit
997d0f7068

+ 3 - 2
AdminController/ServeManagementController.py

@@ -893,8 +893,9 @@ class serveManagement(View):
                     data['playcount'] = cg_qs.filter(
                     data['playcount'] = cg_qs.filter(
                         operation='cloudstorage/queryvodlist', uid=order['UID']).count()
                         operation='cloudstorage/queryvodlist', uid=order['UID']).count()
 
 
-                data['ucode'] = uid_set_dict[uid]['ucode']
-                data['version'] = uid_set_dict[uid]['version']
+                if uid in uid_set_dict:
+                    data['ucode'] = uid_set_dict[uid]['ucode']
+                    data['version'] = uid_set_dict[uid]['version']
 
 
                 list_data.append(data)
                 list_data.append(data)
             return response.json(
             return response.json(

+ 4 - 0
Controller/IotCoreController.py

@@ -129,8 +129,12 @@ class IotCoreView(View):
                 }
                 }
                 return response.json(0, {'res': res})
                 return response.json(0, {'res': res})
             else:
             else:
+                # 获取并判断region_id是否有效
                 region_id = request_dict.get('region_id', None)
                 region_id = request_dict.get('region_id', None)
                 region_id = int(region_id) if region_id else CommonService.confirm_region_id(request)
                 region_id = int(region_id) if region_id else CommonService.confirm_region_id(request)
+                if region_id not in [1, 2, 3, 4]:
+                    return response.json(444, {'invalid region_id': region_id})
+
                 iotClient = IOTClient(region_id)
                 iotClient = IOTClient(region_id)
                 # 拼接物品名
                 # 拼接物品名
                 thingName = CommonService.get_thing_name(company_mark, thing_name_suffix)
                 thingName = CommonService.get_thing_name(company_mark, thing_name_suffix)

+ 32 - 0
Controller/SerialNumberController.py

@@ -50,6 +50,8 @@ class SerialNumberView(View):
             return self.do_create(request_dict, response)
             return self.do_create(request_dict, response)
         elif operation == 'changeSerialNumberStatus':
         elif operation == 'changeSerialNumberStatus':
             return self.changeSerialNumberStatus(request_dict, response)
             return self.changeSerialNumberStatus(request_dict, response)
+        elif operation == 'getRegionInfo':
+            return self.get_region_info(request_dict, response)
         else:
         else:
             if token.code != 0:
             if token.code != 0:
                 return response.json(token.code)
                 return response.json(token.code)
@@ -163,8 +165,11 @@ class SerialNumberView(View):
                 if not isLock:
                 if not isLock:
                     return response.json(5)
                     return response.json(5)
 
 
+                # 获取并判断region_id
                 region_id = request_dict.get('region_id', None)
                 region_id = request_dict.get('region_id', None)
                 region_id = int(region_id) if region_id else CommonService.confirm_region_id(request)
                 region_id = int(region_id) if region_id else CommonService.confirm_region_id(request)
+                if region_id not in [1, 2, 3, 4]:
+                    return response.json(444, {'invalid region_id': region_id})
 
 
                 p2p_type = request_dict.get('p2ptype', 1)
                 p2p_type = request_dict.get('p2ptype', 1)
                 if serial_number[9:10]:
                 if serial_number[9:10]:
@@ -431,3 +436,30 @@ class SerialNumberView(View):
             djangoLogger = logging.getLogger('django')
             djangoLogger = logging.getLogger('django')
             djangoLogger.exception(repr(e))
             djangoLogger.exception(repr(e))
             return response.json(500, str(e))
             return response.json(500, str(e))
+
+    @staticmethod
+    def get_region_info(request_dict, response):
+        """
+        根据序列号状态确认uid地区
+        @param request_dict: 请求参数
+        @param response: 响应对象
+        @request_dict endTime: 结束时间
+        @return: response
+        """
+        serial_number = request_dict.get('serial_number', None)
+        if not serial_number:
+            return response(444)
+        company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial_number[:6]).values('status')
+        if not company_serial_qs.exists():
+            return response.json(173)
+        status = company_serial_qs[0]['status']
+        if status == 2:
+            if CONFIG_INFO == CONFIG_CN:
+                return response.json(10044, {'region': 1})
+            elif CONFIG_INFO == CONFIG_US:
+                return response.json(0, {'region': 3})
+        elif status == 3:
+            if CONFIG_INFO == CONFIG_CN:
+                return response.json(0, {'region': 3})
+            elif CONFIG_INFO == CONFIG_US:
+                return response.json(0, {'region': 1})