新增解绑记录删除功能

FFIB 2 months ago
parent
commit
743fc13605
4 changed files with 47 additions and 10 deletions
  1. 34 1
      api/consumer_admin_view.py
  2. 11 9
      api/mch_views.py
  3. 1 0
      api/urls.py
  4. 1 0
      mch/models.py

+ 34 - 1
api/consumer_admin_view.py

@@ -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'消费者镜头解绑记录删除成功')

+ 11 - 9
api/mch_views.py

@@ -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'消费者镜头解绑成功')

+ 1 - 0
api/urls.py

@@ -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'),

+ 1 - 0
mch/models.py

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