@@ -17,6 +17,7 @@ from account.models import UserInfo |
||
| 17 | 17 |
from coupon.models import UserCouponInfo |
| 18 | 18 |
from integral.models import SaleclerkSubmitLogInfo |
| 19 | 19 |
from mch.models import AdministratorInfo, ConsumeInfoSubmitLogInfo, ModelInfo, DistributorInfo |
| 20 |
+from member.models import GoodsOrderInfo |
|
| 20 | 21 |
from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo |
| 21 | 22 |
from utils.error.errno_utils import (AdministratorStatusCode, ProductBrandStatusCode, ProductCouponStatusCode, |
| 22 | 23 |
ProductMachineStatusCode, UserStatusCode) |
@@ -668,8 +669,56 @@ def distributor_list(request): |
||
| 668 | 669 |
|
| 669 | 670 |
infos = list(DistributorInfo.objects.filter(status=True).values_list('distributor_name', flat=True).distinct().order_by('distributor_name'))
|
| 670 | 671 |
|
| 671 |
- return response(200, 'Get Model List Success', u'获取型号列表成功', data={
|
|
| 672 |
+ return response(200, 'Get Model List Success', u'获取经销商列表成功', data={
|
|
| 672 | 673 |
'distributors': infos |
| 673 | 674 |
}) |
| 674 | 675 |
|
| 676 |
+def member_goods_order(request): |
|
| 677 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 678 |
+ admin_id = request.POST.get('admin_id', '')
|
|
| 679 |
+ phone = request.POST.get('phone', '')
|
|
| 680 |
+ good_type = request.POST.get('good_type', '')
|
|
| 681 |
+ page = request.POST.get('page', 1)
|
|
| 682 |
+ num = request.POST.get('num', 20)
|
|
| 683 |
+ |
|
| 684 |
+ if brand_id != settings.KODO_DEFAULT_BRAND_ID: |
|
| 685 |
+ return response(ProductBrandStatusCode.BRAND_NOT_MATCH) |
|
| 686 |
+ |
|
| 687 |
+ try: |
|
| 688 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
| 689 |
+ except AdministratorInfo.DoesNotExist: |
|
| 690 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
| 691 |
+ |
|
| 692 |
+ orders = GoodsOrderInfo.objects.filter(phone__icontains=phone, status=True).order_by('-created_at')
|
|
| 693 |
+ |
|
| 694 |
+ if good_type: |
|
| 695 |
+ orders = orders.filter(good_type=good_type) |
|
| 696 |
+ |
|
| 697 |
+ count = orders.count() |
|
| 698 |
+ orders, left = pagination(orders, page, num) |
|
| 699 |
+ orders = [order.admindata for order in orders] |
|
| 700 |
+ |
|
| 701 |
+ return response(200, 'Get Member Goods Order List Success', u'获取会员商品订单列表成功', data={
|
|
| 702 |
+ 'orders': orders, |
|
| 703 |
+ 'left': left, |
|
| 704 |
+ 'count': count |
|
| 705 |
+ }) |
|
| 706 |
+ |
|
| 707 |
+def member_goods_order_update(request): |
|
| 708 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 709 |
+ admin_id = request.POST.get('admin_id', '')
|
|
| 710 |
+ order_id = request.POST.get('order_id', '')
|
|
| 711 |
+ tracking_number = request.POST.get('tracking_number', '')
|
|
| 712 |
+ |
|
| 713 |
+ if brand_id != settings.KODO_DEFAULT_BRAND_ID: |
|
| 714 |
+ return response(ProductBrandStatusCode.BRAND_NOT_MATCH) |
|
| 715 |
+ |
|
| 716 |
+ try: |
|
| 717 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
| 718 |
+ except AdministratorInfo.DoesNotExist: |
|
| 719 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
| 720 |
+ |
|
| 721 |
+ GoodsOrderInfo.objects.filter(pk=order_id, status=True).update(tracking_number=tracking_number) |
|
| 722 |
+ |
|
| 723 |
+ return response(200, 'Get Member Goods Order Update Success', u'获取会员商品订单修改成功') |
|
| 675 | 724 |
|
@@ -322,6 +322,9 @@ urlpatterns += [ |
||
| 322 | 322 |
|
| 323 | 323 |
url(r'^admin/list/model$', admin_views.model_list, name='model_list'), |
| 324 | 324 |
url(r'^admin/list/distributor$', admin_views.distributor_list, name='distributor_list'), |
| 325 |
+ |
|
| 326 |
+ url(r'^admin/member/goods/order$', admin_views.member_goods_order, name='member_goods_order'), |
|
| 327 |
+ url(r'^admin/member/goods/order/update$', admin_views.member_goods_order_update, name='member_goods_order_update'), |
|
| 325 | 328 |
] |
| 326 | 329 |
|
| 327 | 330 |
urlpatterns += [ |
@@ -135,6 +135,23 @@ class GoodsOrderInfo(BaseModelMixin): |
||
| 135 | 135 |
|
| 136 | 136 |
def __unicode__(self): |
| 137 | 137 |
return unicode(self.pk) |
| 138 |
+ |
|
| 139 |
+ @property |
|
| 140 |
+ def admindata(self): |
|
| 141 |
+ good = GoodsInfo.objects.get(good_id=self.good_id) |
|
| 142 |
+ return {
|
|
| 143 |
+ 'order_id': self.pk, |
|
| 144 |
+ 'good_id': self.good_id, |
|
| 145 |
+ 'good_name': good.title, |
|
| 146 |
+ 'good_type': good.good_type, |
|
| 147 |
+ 'user_id': self.user_id, |
|
| 148 |
+ 'user_name': self.name, |
|
| 149 |
+ 'user_phone': self.phone, |
|
| 150 |
+ 'user_address': self.address, |
|
| 151 |
+ 'tracking_number': self.tracking_number, |
|
| 152 |
+ 'integral': self.integral, |
|
| 153 |
+ 'created_at': tc.local_string(utc_dt=self.created_at, format='%Y-%m-%d %H:%M'), |
|
| 154 |
+ } |
|
| 138 | 155 |
|
| 139 | 156 |
|
| 140 | 157 |
class RightInfo(BaseModelMixin): |