@@ -0,0 +1,67 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+ |
|
| 3 |
+import logging |
|
| 4 |
+ |
|
| 5 |
+from django.conf import settings |
|
| 6 |
+from django.db import transaction |
|
| 7 |
+from django_logit import logit |
|
| 8 |
+from django_response import response |
|
| 9 |
+from django.db.models import Q |
|
| 10 |
+ |
|
| 11 |
+from account.models import UserInfo |
|
| 12 |
+from goods.models import GoodsInfo, PackInfo |
|
| 13 |
+from kol.models import KOLInfo |
|
| 14 |
+from pay.models import OrderInfo |
|
| 15 |
+ |
|
| 16 |
+logger = logging.getLogger('logit')
|
|
| 17 |
+ |
|
| 18 |
+@logit(res=True) |
|
| 19 |
+@transaction.atomic |
|
| 20 |
+def order_list(request): |
|
| 21 |
+ kol_id = request.POST.get('kol_id', '')
|
|
| 22 |
+ pack_id = request.POST.get('pack_id', '')
|
|
| 23 |
+ ftime = request.POST.get('ftime', '')
|
|
| 24 |
+ ttime = request.POST.get('ttime', '')
|
|
| 25 |
+ query = request.POST.get('query', '')
|
|
| 26 |
+ |
|
| 27 |
+ page = request.POST.get('page', 0)
|
|
| 28 |
+ num = request.POST.get('num', 20)
|
|
| 29 |
+ |
|
| 30 |
+ infos = OrderInfo.objects.filter(Q(phone__contains=query) | Q(name__contains=query), kol_id__contains=kol_id, pack_id__contains=pack_id, pay_status=1) |
|
| 31 |
+ |
|
| 32 |
+ res = [] |
|
| 33 |
+ |
|
| 34 |
+ for info in infos: |
|
| 35 |
+ goods_info = [] |
|
| 36 |
+ try: |
|
| 37 |
+ pack = PackInfo.objects.get(pack_id=info.pack_id) |
|
| 38 |
+ kol = KOLInfo.objects.get(kol_id=info.kol_id) |
|
| 39 |
+ |
|
| 40 |
+ for g in info.goods_info: |
|
| 41 |
+ try: |
|
| 42 |
+ goods = GoodsInfo.objects.get(good_id=g.get('good_id', ''))
|
|
| 43 |
+ goods_info.append({
|
|
| 44 |
+ 'title': goods.title, |
|
| 45 |
+ 'num': g.get('num', 0)
|
|
| 46 |
+ }) |
|
| 47 |
+ except: |
|
| 48 |
+ continue |
|
| 49 |
+ |
|
| 50 |
+ res.append({
|
|
| 51 |
+ 'name': info.name, |
|
| 52 |
+ 'phone': info.phone, |
|
| 53 |
+ 'address': info.address, |
|
| 54 |
+ 'paid_at': info.paid_at, |
|
| 55 |
+ 'order_id': info.order_id, |
|
| 56 |
+ 'transaction_id': info.transaction_id, |
|
| 57 |
+ 'tracking_number': info.tracking_number, |
|
| 58 |
+ 'goods_info': goods_info, |
|
| 59 |
+ 'kol_name': kol.name, |
|
| 60 |
+ 'pack_title': pack.title |
|
| 61 |
+ }) |
|
| 62 |
+ except: |
|
| 63 |
+ continue |
|
| 64 |
+ |
|
| 65 |
+ return response(200, 'Order List Success', u'获取订单列表成功', {
|
|
| 66 |
+ 'orders': res |
|
| 67 |
+ }) |
@@ -2,7 +2,7 @@ |
||
| 2 | 2 |
|
| 3 | 3 |
from django.conf.urls import url |
| 4 | 4 |
|
| 5 |
-from api import mini_views, oauth_views, pack_views |
|
| 5 |
+from api import mini_views, oauth_views, pack_views, admin_views |
|
| 6 | 6 |
from pay import views as pay_views |
| 7 | 7 |
|
| 8 | 8 |
|
@@ -21,6 +21,12 @@ urlpatterns += [ |
||
| 21 | 21 |
] |
| 22 | 22 |
|
| 23 | 23 |
urlpatterns += [ |
| 24 |
+ url(r'^admin/order/list$', admin_views.order_list, name='order_list'), # 订单列表 |
|
| 25 |
+] |
|
| 26 |
+ |
|
| 27 |
+ |
|
| 28 |
+ |
|
| 29 |
+urlpatterns += [ |
|
| 24 | 30 |
url(r'^3rd/or$', oauth_views.oauth_redirect, name='3rd_or'), |
| 25 | 31 |
url(r'^3rd/oauth_redirect$', oauth_views.oauth_redirect, name='3rd_oauth_redirect'), |
| 26 | 32 |
] |
@@ -71,4 +71,4 @@ class OrderInfo(BaseModelMixin): |
||
| 71 | 71 |
verbose_name_plural = _('订单信息')
|
| 72 | 72 |
|
| 73 | 73 |
def __unicode__(self): |
| 74 |
- return self.pk |
|
| 74 |
+ return self.pk |