批量处理会员商品订单

FFIB 4 anos atrás
pai
commit
59d679d1ab
2 arquivos alterados com 32 adições e 2 exclusões
  1. 31 2
      api/admin_views.py
  2. 1 0
      api/urls.py

+ 31 - 2
api/admin_views.py

@@ -2,6 +2,8 @@
2 2
 
3 3
 from __future__ import division
4 4
 
5
+import json
6
+
5 7
 from collections import defaultdict
6 8
 from datetime import datetime
7 9
 
@@ -710,7 +712,7 @@ def member_goods_order(request):
710 712
     
711 713
     # 未发货,即快递单号为空
712 714
     if order_status == 1:
713
-        orders = orders.filter(tracking_number__isnull=True)
715
+        orders = orders.filter(Q(tracking_number__isnull=True) | Q(tracking_number=''))
714 716
     elif order_status == 2:
715 717
         orders = orders.filter(tracking_number__isnull=False).exclude(tracking_number='')
716 718
 
@@ -741,7 +743,34 @@ def member_goods_order_update(request):
741 743
 
742 744
     GoodsOrderInfo.objects.filter(order_id=order_id, status=True).update(tracking_number=tracking_number)
743 745
 
744
-    return response(200, 'Get Member Goods Order Update Success', u'获取会员商品订单修改成功')
746
+    return response(200, 'Member Goods Order Update Success', u'会员商品订单修改成功')
747
+
748
+def member_goods_order_batch_update(request):
749
+    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
750
+    admin_id = request.POST.get('admin_id', '')
751
+    orders = json.loads(request.POST.get('orders', '[]'))
752
+
753
+    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
754
+        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
755
+
756
+    try:
757
+        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
758
+    except AdministratorInfo.DoesNotExist:
759
+        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
760
+
761
+    err_orders = []
762
+    for order in orders:
763
+        try:
764
+            GoodsOrderInfo.objects.filter(order_id=order['order_id'], status=True).update(tracking_number=order['tracking_number'])
765
+        except:
766
+            err_orders.append(order['order_id'])
767
+
768
+    if err_orders:
769
+        return response(40001, 'Member Goods Order Update Error', u'部分会员商品订单修改失败', data={
770
+            'orders': err_orders
771
+        })
772
+
773
+    return response(200, 'Member Goods Order Update Success', u'会员商品订单修改成功')
745 774
 
746 775
 
747 776
 def record_warehouse(request):

+ 1 - 0
api/urls.py

@@ -157,6 +157,7 @@ urlpatterns += [
157 157
 
158 158
     url(r'^admin/member/goods/order$', admin_views.member_goods_order, name='member_goods_order'),
159 159
     url(r'^admin/member/goods/order/update$', admin_views.member_goods_order_update, name='member_goods_order_update'),
160
+    url(r'^admin/member/goods/order/batch/update$', admin_views.member_goods_order_batch_update, name='member_goods_order_batch_update'),
160 161
     
161 162
     url(r'^admin/member/activity/list$', admin_views.member_activity_list, name='member_activity_list'),
162 163
     url(r'^admin/member/activity/details$', admin_views.member_activity_details, name='member_activity_details'),