Browse Source

扫码查重序列号v2接口

zhangdongming 2 years ago
parent
commit
fc85d133d3
1 changed files with 33 additions and 0 deletions
  1. 33 0
      Controller/TestApi.py

+ 33 - 0
Controller/TestApi.py

@@ -163,6 +163,9 @@ class testView(View):
         elif operation == 'serial-repetition':  # 用与测试序列号重复接口
             response = ResponseObject('cn')
             return self.serial_repetition_test(request_dict, response)
+        elif operation == 'v2/serial-repetition':  # 用与测试序列号重复接口
+            response = ResponseObject('cn')
+            return self.serial_repetition_test_v2(request_dict, response)
         elif operation == 'getSerialNumberInfo':  # 序列号信息查询
             return self.getSerialNumberInfo(request_dict, response)
         elif operation == 'get-serial-details':  # 序列号信息查询
@@ -170,6 +173,36 @@ class testView(View):
         else:
             return 123
 
+    @classmethod
+    def serial_repetition_test_v2(cls, request_dict, response):
+        try:
+            serial_no = request_dict.get('serialNo', None)
+            phone_model = request_dict.get('phoneModel', None)
+            if not serial_no:
+                return response.json(444)
+            with transaction.atomic():
+                first_serial = serial_no[:6]
+                first_serial_qs = TestSerialRepetition.objects.filter(serial_number__icontains=first_serial)
+                if first_serial_qs.exists():
+                    result = {'serialNumber': first_serial_qs.first().serial_number,
+                              'phoneModel': first_serial_qs.first().phone_model,
+                              'createdTime': first_serial_qs.first().created_time}
+                    return response.json(174, result)
+
+                serial_qs = TestSerialRepetition.objects.filter(serial_number=serial_no)
+                if not serial_qs.exists():
+                    n_time = int(time.time())
+                    params = {'serial_number': serial_no, 'created_time': n_time}
+                    if phone_model:
+                        params['phone_model'] = phone_model
+                    TestSerialRepetition.objects.create(**params)
+                    return response.json(0)
+                else:
+                    return response.json(174)
+        except Exception as e:
+            logging.info('异常错误,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+            return response.json(178, e)
+
     @classmethod
     def serial_repetition_test(cls, request_dict, response):
         try: