@@ -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 """ |