@@ -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 += [ |
@@ -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'序列号校验成功') |
@@ -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 """ |