增添/clerk/checkout/serialNo 校验序列号

FFIB 5 jaren geleden
bovenliggende
commit
e634358bf0
3 gewijzigde bestanden met toevoegingen van 45 en 0 verwijderingen
  1. 1 0
      api/urls.py
  2. 41 0
      page/sale_views.py
  3. 3 0
      utils/error/errno_utils.py

+ 1 - 0
api/urls.py

@@ -226,6 +226,7 @@ urlpatterns += [
226 226
     url(r'^clerk/sale/submit$', sale_views.clerk_sale_submit_api, name='clerk_sale_submit'),  # 店员销售信息提交
227 227
     url(r'^clerk/integral/list$', sale_views.clerk_integral_list_api, name='clerk_integral_list_api'),  # 店员销售积分列表
228 228
     url(r'^clerk/model/list$', sale_views.clerk_model_list_api, name='clerk_model_list_api'),
229
+    url(r'^clerk/checkout/serialNo$', sale_views.clerk_checkout_serialNo_api, name='clerk_checkout_serialNo_api'), #校验序列号
229 230
 ]
230 231
 
231 232
 urlpatterns += [

+ 41 - 0
page/sale_views.py

@@ -16,6 +16,7 @@ from statistic.models import (DistributorSaleStatisticInfo, ModelSaleStatisticIn
16 16
                               SaleclerkSaleStatisticInfo, SaleStatisticInfo)
17 17
 from utils.error.errno_utils import (ProductBrandStatusCode, ProductDistributorStatusCode, ProductModelStatusCode,
18 18
                                      SaleclerkStatusCode)
19
+from logs.models import MchInfoEncryptLogInfo
19 20
 
20 21
 
21 22
 @logit
@@ -392,3 +393,43 @@ def clerk_model_list_api(request):
392 393
     return response(200, data={
393 394
         'models': models,
394 395
     })
396
+
397
+@logit
398
+def clerk_checkout_serialNo_api(request):
399
+    brandID = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_PK)
400
+    user_id = request.POST.get('user_id', '')
401
+    serialNo = request.POST.get('serial', '')
402
+    model_pk = request.POST.get('model_pk', '')
403
+
404
+    try:
405
+        user = UserInfo.objects.get(user_id=user_id, status=True)
406
+    except UserInfo.DoesNotExist:
407
+        return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
408
+
409
+    try:
410
+        brand = BrandInfo.objects.get(pk=brandID)
411
+    except BrandInfo.DoesNotExist:
412
+        brand = None
413
+    except ValueError:
414
+        brand = None
415
+
416
+    if not brand:
417
+        try:
418
+            brand = BrandInfo.objects.get(brand_id=brandID)
419
+        except BrandInfo.DoesNotExist:
420
+            return response(ProductBrandStatusCode.BRAND_NOT_FOUND)
421
+
422
+    try:
423
+        clerk = SaleclerkInfo.objects.get(brand_id=brand.brand_id, unionid=user.unionid, status=True)
424
+    except SaleclerkInfo.DoesNotExist:
425
+        return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
426
+
427
+    try:
428
+        logs = MchInfoEncryptLogInfo.objects.get(model_pk=model_pk, sn=serialNo)
429
+    except MchInfoEncryptLogInfo.DoesNotExist:
430
+        return response(SaleclerkStatusCode.SERIALNO_NOT_FOUND)
431
+
432
+    if not logs:
433
+        return response(SaleclerkStatusCode.SERIALNO_NOT_FOUND)
434
+
435
+    return response(200, 'SerialNo Checkout Success', u'序列号校验成功')

+ 3 - 0
utils/error/errno_utils.py

@@ -15,6 +15,9 @@ class SaleclerkStatusCode(BaseStatusCode):
15 15
     # 上传
16 16
     DUPLICATE_SUBMIT = StatusCodeField(500199, 'Duplicate Submit', description=u'重复提交')
17 17
 
18
+    #序列号校验
19
+    SERIALNO_NOT_FOUND = StatusCodeField(500200, 'SerialNo Not Found', description=u'序列号不存在')
20
+
18 21
 
19 22
 class SalesResponsibilityStatusCode(BaseStatusCode):
20 23
     """ 销售担当相关错误码 5002xx """