@@ -11,7 +11,7 @@ from TimeConvert import TimeConvert as tc |
||
11 | 11 |
|
12 | 12 |
from account.models import UserInfo |
13 | 13 |
from kodo.decorators import check_admin |
14 |
-from mch.models import AdministratorInfo, ConsumeShotUnbindingInfo |
|
14 |
+from mch.models import AdministratorInfo, ConsumeShotUnbindingInfo, ConsumeInfoSubmitLogInfo, ModelInfo |
|
15 | 15 |
|
16 | 16 |
|
17 | 17 |
@logit |
@@ -52,3 +52,36 @@ def consumer_shot_unbinding_list(request, administrator): |
||
52 | 52 |
'count': count, |
53 | 53 |
'left': left |
54 | 54 |
}) |
55 |
+ |
|
56 |
+ |
|
57 |
+@logit |
|
58 |
+@check_admin |
|
59 |
+def consumer_shot_unbinding_delete(request, administrator): |
|
60 |
+ pk = request.POST.get('pk', '') |
|
61 |
+ |
|
62 |
+ unbinding_info = ConsumeShotUnbindingInfo.objects.get(pk=pk) |
|
63 |
+ |
|
64 |
+ unbinding_info.status = False |
|
65 |
+ unbinding_info.delete() |
|
66 |
+ |
|
67 |
+ log_info = ConsumeInfoSubmitLogInfo.objects.get(pk=unbinding_info.submit_pk) |
|
68 |
+ log_info.status = True |
|
69 |
+ log_info.delete_type = ConsumeInfoSubmitLogInfo.UNDELETE |
|
70 |
+ log_info.save() |
|
71 |
+ |
|
72 |
+ if not log_info.unbound: |
|
73 |
+ try: |
|
74 |
+ user = UserInfo.objects.get(user_id=log_info.user_id) |
|
75 |
+ user.shots_num += 1 |
|
76 |
+ user.integral += log_info.integral |
|
77 |
+ model = ModelInfo.objects.get(model_id=log_info.model_id) |
|
78 |
+ |
|
79 |
+ if user.level < UserInfo.MEMBER_BLACK_GOLD and model.shot_type_id != 'V6PkivthL4sdADp4GNpQ4C': |
|
80 |
+ user.level += 1 |
|
81 |
+ user.save() |
|
82 |
+ |
|
83 |
+ except UserInfo.DoesNotExist: |
|
84 |
+ pass |
|
85 |
+ |
|
86 |
+ |
|
87 |
+ return response(200, 'Get Cosumer Shot Unbinding Delete Success', u'消费者镜头解绑记录删除成功') |
@@ -552,17 +552,19 @@ def consumer_shot_unbinding(request): |
||
552 | 552 |
except UserInfo.DoesNotExist: |
553 | 553 |
return response(UserStatusCode.USER_NOT_FOUND) |
554 | 554 |
|
555 |
- exist = ConsumeInfoSubmitLogInfo.objects.filter(user_id=user_id, model_id=model_id, serialNo=sn, dupload=False, test_user=False).exists() |
|
556 |
- |
|
557 |
- if exist: |
|
558 |
- unbound = ConsumeInfoSubmitLogInfo.objects.filter(user_id=user_id, model_id=model_id, serialNo=sn, dupload=False, test_user=False, unbound=True).exists() |
|
559 |
- |
|
555 |
+ try: |
|
556 |
+ log_info = ConsumeInfoSubmitLogInfo.objects.get(pk=submit_pk) |
|
560 | 557 |
ConsumeInfoSubmitLogInfo.objects.filter(model_id=model_id, serialNo=sn).update(delete_type=ConsumeInfoSubmitLogInfo.UNBINDING, status=False) |
558 |
+ if not log_info.unbound: |
|
559 |
+ if user.shots_num <= 5: |
|
560 |
+ user.level -= 1 |
|
561 | 561 |
|
562 |
- if not unbound and user.shots_num <= 5: |
|
563 |
- user.level -= 1 |
|
564 |
- if not unbound: |
|
562 |
+ user.integral -= log_info.integral |
|
563 |
+ user.integral = max(user.integral, 0) |
|
564 |
+ |
|
565 | 565 |
user.shots_num -= 1 |
566 |
+ |
|
567 |
+ |
|
566 | 568 |
user.save() |
567 | 569 |
|
568 | 570 |
ConsumeShotUnbindingInfo.objects.update_or_create(user_id=user_id, submit_pk=submit_pk, defaults={ |
@@ -571,7 +573,7 @@ def consumer_shot_unbinding(request): |
||
571 | 573 |
'submit_at': submit_at, |
572 | 574 |
'reason': reason, |
573 | 575 |
}) |
574 |
- else: |
|
576 |
+ except: |
|
575 | 577 |
ConsumeInfoSubmitLogInfo.objects.filter(user_id=user_id, model_id=model_id, serialNo=sn).update(delete_type=ConsumeInfoSubmitLogInfo.UNBINDING, status=False) |
576 | 578 |
|
577 | 579 |
return response(200, 'Consume Shot Unbinding Success', u'消费者镜头解绑成功') |
@@ -162,6 +162,7 @@ urlpatterns += [ |
||
162 | 162 |
url(r'^admin/record/sale/batch$', admin_views.record_sale_batch, name='record_sale_batch'), |
163 | 163 |
url(r'^admin/record/warehouse$', admin_views.record_warehouse, name='record_warehouse'), |
164 | 164 |
url(r'^admin/consumer/shot/unbinding/list$', consumer_admin_view.consumer_shot_unbinding_list, name='consumer_shot_unbinding_list'), |
165 |
+ url(r'^admin/consumer/shot/unbinding/delete$', consumer_admin_view.consumer_shot_unbinding_delete, name='consumer_shot_unbinding_delete'), |
|
165 | 166 |
|
166 | 167 |
url(r'^admin/list/model$', admin_views.model_list, name='model_list'), |
167 | 168 |
url(r'^admin/list/distributor$', admin_views.distributor_list, name='distributor_list'), |
@@ -846,6 +846,7 @@ class ConsumeShotUnbindingInfo(BaseModelMixin, BrandInfoMixin): |
||
846 | 846 |
user = UserInfo.objects.get(user_id=self.user_id) |
847 | 847 |
|
848 | 848 |
return { |
849 |
+ 'pk': self.pk, |
|
849 | 850 |
'user_id': self.user_id, |
850 | 851 |
'phone': user.phone, |
851 | 852 |
'model_info': model_info, |