@@ -78,3 +78,19 @@ def complement_code_audit(request): |
||
78 | 78 |
log.save() |
79 | 79 |
|
80 | 80 |
return response() |
81 |
+ |
|
82 |
+ |
|
83 |
+@transaction.atomic |
|
84 |
+def complement_code_contacted(request): |
|
85 |
+ log_id = request.POST.get('log_id', '') |
|
86 |
+ is_contacted = int(request.POST.get('is_contacted', 0)) # 0 未联系, 1 已联系 |
|
87 |
+ |
|
88 |
+ try: |
|
89 |
+ log = ComplementCodeLogInfo.objects.select_for_update().get(log_id=log_id, status=True) |
|
90 |
+ except ComplementCodeLogInfo.DoesNotExist: |
|
91 |
+ return response(ComplementCodeStatusCode.COMPLEMENT_CODE_NOT_FOUND) |
|
92 |
+ |
|
93 |
+ log.is_contacted = is_contacted |
|
94 |
+ log.save() |
|
95 |
+ |
|
96 |
+ return response() |
@@ -243,4 +243,5 @@ 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 | 245 |
url(r'^complement/code/audit$', complement_views.complement_code_audit, name='complement_code_audit'), |
246 |
+ url(r'^complement/code/contacted$', complement_views.complement_code_contacted, name='complement_code_contacted'), |
|
246 | 247 |
] |
@@ -143,6 +143,8 @@ class ComplementCodeLogInfo(BaseModelMixin): |
||
143 | 143 |
|
144 | 144 |
audit_status = models.IntegerField(_(u'audit_status'), choices=AUDIT_STATUS_TUPLE, default=AUDIT_TODO, help_text=u'审核状态') |
145 | 145 |
|
146 |
+ is_contacted = models.BooleanField(_(u'is_contacted'), default=False, help_text=u'是否已联系用户') |
|
147 |
+ |
|
146 | 148 |
class Meta: |
147 | 149 |
verbose_name = _(u'补码记录') |
148 | 150 |
verbose_name_plural = _(u'补码记录') |
@@ -173,4 +175,5 @@ class ComplementCodeLogInfo(BaseModelMixin): |
||
173 | 175 |
'invoice_image': self.invoice_image, |
174 | 176 |
'invoice_image_url': self.invoice_image_url, |
175 | 177 |
'audit_status': self.audit_status, |
178 |
+ 'is_contacted': self.is_contacted, |
|
176 | 179 |
} |