clerk/sale/submit 判断序列号是否重复

FFIB 5 年之前
父節點
當前提交
3c94a5c976
共有 2 個文件被更改,包括 10 次插入0 次删除
  1. 7 0
      page/sale_views.py
  2. 3 0
      utils/error/errno_utils.py

+ 7 - 0
page/sale_views.py

@@ -39,6 +39,8 @@ def clerk_sale_submit_api(request):
39 39
 
40 40
     file_path = request.POST.get('file_path', '')
41 41
 
42
+    trackingNo = request.POST.get('trackingNo', '')
43
+
42 44
     test_sn = serialNo in settings.TESTING_SNS
43 45
 
44 46
     if lat == 'undefined':
@@ -86,6 +88,11 @@ def clerk_sale_submit_api(request):
86 88
     except ValueError:
87 89
         return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)
88 90
 
91
+    if trackingNo:
92
+        is_exist = SaleclerkSubmitLogInfo.objects.filter(trackingNo=trackingNo, status=True).exists()
93
+        if is_exist:
94
+            return response(SaleclerkStatusCode.DUPLICATE_TRACKING_NUMBER)
95
+
89 96
     ymd = tc.local_string(format='%Y%m%d')
90 97
 
91 98
     #是否被消费者扫过

+ 3 - 0
utils/error/errno_utils.py

@@ -18,6 +18,9 @@ class SaleclerkStatusCode(BaseStatusCode):
18 18
     #序列号校验
19 19
     SERIALNO_NOT_FOUND = StatusCodeField(500200, 'SerialNo Not Found', description=u'序列号不存在')
20 20
 
21
+    #快递单号校验
22
+    DUPLICATE_TRACKING_NUMBER = StatusCodeField(500198, 'Duplicate Tracking Number', description=u'快递单号重复')
23
+
21 24
 
22 25
 class SalesResponsibilityStatusCode(BaseStatusCode):
23 26
     """ 销售担当相关错误码 5002xx """