:art: Add complement_code

huangqimin001 4 years ago
parent
commit
bdbcc47009
4 changed files with 34 additions and 2 deletions
  1. 25 1
      api/complement_views.py
  2. 1 0
      api/urls.py
  3. 1 1
      logs/admin.py
  4. 7 0
      utils/error/errno_utils.py

+ 25 - 1
api/complement_views.py

@@ -2,11 +2,13 @@
2 2
 
3 3
 from __future__ import division
4 4
 
5
+from django.db import transaction
5 6
 from django_logit import logit
6 7
 from django_response import response
8
+from paginator import pagination
7 9
 
8 10
 from logs.models import ComplementCodeLogInfo
9
-from paginator import pagination
11
+from utils.error.errno_utils import ComplementCodeStatusCode
10 12
 
11 13
 
12 14
 @logit(res=True)
@@ -50,3 +52,25 @@ def complement_code_list(request):
50 52
         'logs': logs,
51 53
         'left': left,
52 54
     })
55
+
56
+
57
+@transaction.atomic
58
+def complement_code_audit(request):
59
+    log_id = request.POST.get('log_id', '')
60
+    audit_status = int(request.POST.get('audit_status', 0))  # -1 审核不通过, 1 审核通过
61
+
62
+    if audit_status not in [ComplementCodeLogInfo.AUDIT_REFUSED, ComplementCodeLogInfo.AUDIT_PASS]:
63
+        return response(ComplementCodeStatusCode.COMPLEMENT_CODE_STATUS_INVALID)
64
+
65
+    try:
66
+        log = ComplementCodeLogInfo.objects.select_for_update().get(log_id=log_id, status=True)
67
+    except ComplementCodeLogInfo.DoesNotExist:
68
+        return response(ComplementCodeStatusCode.COMPLEMENT_CODE_NOT_FOUND)
69
+
70
+    if log.audit_status != ComplementCodeLogInfo.AUDIT_TODO:
71
+        return response(ComplementCodeStatusCode.COMPLEMENT_CODE_HAS_AUDITED)
72
+
73
+    log.audit_status = audit_status
74
+    log.save()
75
+
76
+    return response()

+ 1 - 0
api/urls.py

@@ -242,4 +242,5 @@ urlpatterns += [
242 242
 urlpatterns += [
243 243
     url(r'^complement/code$', complement_views.complement_code, name='complement_code'),
244 244
     url(r'^complement/code/list$', complement_views.complement_code_list, name='complement_code_list'),
245
+    url(r'^complement/code/audit$', complement_views.complement_code_audit, name='complement_code_audit'),
245 246
 ]

+ 1 - 1
logs/admin.py

@@ -28,7 +28,7 @@ class MchSearchModelAndCameraLogInfoAdmin(admin.ModelAdmin):
28 28
 
29 29
 
30 30
 class ComplementCodeLogInfoAdmin(admin.ModelAdmin):
31
-    list_display = ('user_id', 'log_id', 'name', 'phone', 'model_id', 'model_name', 'sn', 'shot_image', 'invoice_image', 'status', 'created_at', 'updated_at')
31
+    list_display = ('user_id', 'log_id', 'name', 'phone', 'model_id', 'model_name', 'sn', 'shot_image', 'invoice_image', 'audit_status', 'status', 'created_at', 'updated_at')
32 32
     list_filter = ('model_id', 'status')
33 33
 
34 34
 

+ 7 - 0
utils/error/errno_utils.py

@@ -59,6 +59,13 @@ class ProductCouponStatusCode(BaseStatusCode):
59 59
     COUPON_HAS_EXPIRED = StatusCodeField(501411, 'Coupon Has Expired', description=u'优惠券已过期')
60 60
 
61 61
 
62
+class ComplementCodeStatusCode(BaseStatusCode):
63
+    """ 补码相关错误码 5016xx """
64
+    COMPLEMENT_CODE_NOT_FOUND = StatusCodeField(501601, 'Complement Code Not Found', description=u'补码记录不存在')
65
+    COMPLEMENT_CODE_HAS_AUDITED = StatusCodeField(501605, 'Complement Code Has Audited', description=u'补码记录已审核')
66
+    COMPLEMENT_CODE_STATUS_INVALID = StatusCodeField(501611, 'Complement Code Status Invalid', description=u'补码记录状态不合法')
67
+
68
+
62 69
 class ProductStatusCode(BaseStatusCode):
63 70
     """ 产品相关错误码 5020xx """
64 71
     PRODUCT_NOT_FOUND = StatusCodeField(502001, 'Product Not Found', description=u'产品不存在')