Browse Source

新增测试序列号重复API接口

zhangdongming 2 năm trước cách đây
mục cha
commit
52d3c859ac
2 tập tin đã thay đổi với 33 bổ sung1 xóa
  1. 23 1
      Controller/TestApi.py
  2. 10 0
      Model/models.py

+ 23 - 1
Controller/TestApi.py

@@ -17,6 +17,7 @@ import traceback
 import botocore
 import cv2
 from botocore import client
+from django.db import transaction
 
 from Controller.DeviceConfirmRegion import Device_Region
 from Object.AWS.AmazonS3Util import AmazonS3Util
@@ -43,7 +44,8 @@ from django.views.generic.base import View
 from django.contrib.auth.hashers import make_password  # 对密码加密模块
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, AWS_ACCESS_KEY_ID, \
     AWS_SECRET_ACCESS_KEY, SERVER_TYPE, AWS_SES_ACCESS_REGION
-from Model.models import Order_Model, Store_Meal, OssCrdModel, StsCrdModel, DeviceLogModel, VodBucketModel
+from Model.models import Order_Model, Store_Meal, OssCrdModel, StsCrdModel, DeviceLogModel, VodBucketModel, \
+    TestSerialRepetition
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -156,9 +158,29 @@ class testView(View):
             return self.play_m3u8(request_dict, response)
         elif operation == 'generate_video':
             return self.generate_video(request_dict, response)
+        elif operation == 'serial-repetition':  # 用与测试序列号重复接口
+            return self.serial_repetition_test(request_dict, response)
         else:
             return 123
 
+    @classmethod
+    def serial_repetition_test(cls, request_dict, response):
+        try:
+            serial_no = request_dict.get('serialNo', None)
+            if not serial_no:
+                return response.json(444)
+            with transaction.atomic():
+                serial_qs = TestSerialRepetition.objects.filter(serial_number=serial_no)
+                if not serial_qs.exists():
+                    params = {'serial_number': serial_no}
+                    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 generate_video(cls, request_dict, response):
         # 设计抽取图片规则通过消息随机还是时间随机,调试copy S3对象查询是否携带失效时间

+ 10 - 0
Model/models.py

@@ -3360,3 +3360,13 @@ class VodHlsTagType(models.Model):
         db_table = 'vod_hls_tag_type'
         verbose_name = '云存hls关联标签类型'
         verbose_name_plural = verbose_name
+
+
+class TestSerialRepetition(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='自增id')
+    serial_number = models.CharField(blank=True, unique=True,db_index=True, max_length=20, default='', verbose_name='序列号')
+
+    class Meta:
+        db_table = 'test_serial_repetition'
+        verbose_name = '测试序列号重复问题'
+        verbose_name_plural = verbose_name