| 作者 | SHA1 | 備註 | 提交日期 |
|---|---|---|---|
|
|
060a108ae7 | 1 月之前 |
@@ -1,5 +1,6 @@ |
||
| 1 | 1 |
# -*- coding: utf-8 -*- |
| 2 | 2 |
|
| 3 |
+from mch.models import ConsumeShotUnbindingInfo |
|
| 3 | 4 |
import json |
| 4 | 5 |
|
| 5 | 6 |
from django.conf import settings |
@@ -516,3 +517,66 @@ def batch_del_consumer_submit_api(request): |
||
| 516 | 517 |
exec_del_consumer_submit(pk, admin_id) |
| 517 | 518 |
|
| 518 | 519 |
return response(200, 'Del Success', u'删除成功') |
| 520 |
+ |
|
| 521 |
+@logit |
|
| 522 |
+@transaction.atomic |
|
| 523 |
+def unbind_consumer_submit_api(request): |
|
| 524 |
+ brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
|
|
| 525 |
+ admin_id = request.POST.get('admin_id', '')
|
|
| 526 |
+ pk = int(request.POST.get('pk', ''))
|
|
| 527 |
+ |
|
| 528 |
+ try: |
|
| 529 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
| 530 |
+ except AdministratorInfo.DoesNotExist: |
|
| 531 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
| 532 |
+ |
|
| 533 |
+ exec_unbind_consumer_submit(pk, admin_id) |
|
| 534 |
+ |
|
| 535 |
+ return response(200, 'Del Success', u'删除成功') |
|
| 536 |
+ |
|
| 537 |
+@logit |
|
| 538 |
+@transaction.atomic |
|
| 539 |
+def batch_unbind_consumer_submit_api(request): |
|
| 540 |
+ brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
|
|
| 541 |
+ admin_id = request.POST.get('admin_id', '')
|
|
| 542 |
+ pks = json.loads(request.POST.get('pks', []))
|
|
| 543 |
+ |
|
| 544 |
+ try: |
|
| 545 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
| 546 |
+ except AdministratorInfo.DoesNotExist: |
|
| 547 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
| 548 |
+ |
|
| 549 |
+ for pk in pks: |
|
| 550 |
+ exec_unbind_consumer_submit(pk, admin_id) |
|
| 551 |
+ |
|
| 552 |
+ return response(200, 'Unbind Success', u'解绑成功') |
|
| 553 |
+ |
|
| 554 |
+ |
|
| 555 |
+def exec_unbind_consumer_submit(pk, admin_id): |
|
| 556 |
+ log_info = ConsumeInfoSubmitLogInfo.objects.get(pk=pk) |
|
| 557 |
+ |
|
| 558 |
+ try: |
|
| 559 |
+ target_log_info = ConsumeInfoSubmitLogInfo.objects.get(model_id=log_info.model_id, serialNo=log_info.serialNo, dupload=False, unbound=False, status=True) |
|
| 560 |
+ |
|
| 561 |
+ ConsumeInfoSubmitLogInfo.objects.filter(model_id=log_info.model_id, serialNo=log_info.serialNo).update(delete_type=ConsumeInfoSubmitLogInfo.UNBINDING, status=False) |
|
| 562 |
+ |
|
| 563 |
+ user = UserInfo.objects.get(user_id=target_log_info.user_id) |
|
| 564 |
+ |
|
| 565 |
+ if user.shots_num <= 5: |
|
| 566 |
+ user.level -= 1 |
|
| 567 |
+ |
|
| 568 |
+ user.integral -= target_log_info.integral |
|
| 569 |
+ user.integral = max(user.integral, 0) |
|
| 570 |
+ |
|
| 571 |
+ user.shots_num -= 1 |
|
| 572 |
+ |
|
| 573 |
+ user.save() |
|
| 574 |
+ |
|
| 575 |
+ ConsumeShotUnbindingInfo.objects.update_or_create(user_id=target_log_info.user_id, submit_pk=target_log_info.submit_pk, defaults={
|
|
| 576 |
+ 'model_id': target_log_info.model_id, |
|
| 577 |
+ 'sn': target_log_info.sn, |
|
| 578 |
+ 'submit_at': target_log_info.submit_at, |
|
| 579 |
+ 'reason': admin_id, |
|
| 580 |
+ }) |
|
| 581 |
+ except: |
|
| 582 |
+ ConsumeInfoSubmitLogInfo.objects.filter(model_id=log_info.model_id, serialNo=log_info.serialNo).update(delete_type=ConsumeInfoSubmitLogInfo.UNBINDING, status=False) |
@@ -264,6 +264,8 @@ urlpatterns += [ |
||
| 264 | 264 |
url(r'^batch/del/clerk/sale/submit$', staff_views.batch_del_clerk_sale_submit_api, name='batch_del_clerk_sale_submit_api'), |
| 265 | 265 |
url(r'^del/consumer/submit$', staff_views.del_consumer_submit_api, name='del_consumer_submit_api'), |
| 266 | 266 |
url(r'^batch/del/consumer/submit$', staff_views.batch_del_consumer_submit_api, name='batch_del_consumer_submit_api'), |
| 267 |
+ |
|
| 268 |
+ url(r'^unbind/consumer/submit$', staff_views.unbind_consumer_submit_api, name='unbind_consumer_submit_api'), |
|
| 267 | 269 |
] |
| 268 | 270 |
|
| 269 | 271 |
urlpatterns += [ |