123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- from __future__ import division
- from django_logit import logit
- from django_models_ext import ProvinceShortModelMixin
- from django_response import response
- from paginator import pagination
- from mch.models import AdministratorInfo, DistributorInfo
- from utils.error.errno_utils import AdministratorStatusCode, ProductDistributorStatusCode
- @logit
- def distributor_add(request):
- distributor_name = request.POST.get('distributor_name', '')
- distributor_short_name = request.POST.get('distributor_short_name', '')
- province_code = request.POST.get('province_code', '')
- province_name = request.POST.get('province_name', '')
- sr_id = request.POST.get('sr_id', '')
-
- if not province_code and province_name:
- province_code = ProvinceShortModelMixin.PROVINCE_NAME_CODE_DICT.get(province_name, '')
- admin_id = request.session.get('admin_id')
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- DistributorInfo.objects.create(
- brand_id=administrator.brand_id,
- distributor_name=distributor_name,
- distributor_short_name=distributor_short_name,
- distributor_province_code=province_code,
- distributor_province_name=province_name,
- sr_id=sr_id,
- )
- return response(200, 'Distributor Add Success', u'经销商添加成功')
- @logit
- def distributor_delete(request):
- distributor_id = request.POST.get('distributor_id', '')
- admin_id = request.session.get('admin_id')
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- try:
- distributor = DistributorInfo.objects.get(brand_id=administrator.brand_id, distributor_id=distributor_id, status=True)
- except DistributorInfo.DoesNotExist:
- return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)
- distributor.status = False
- distributor.save()
- return response(200, 'Distributor Delete Success', u'经销商删除成功')
- @logit
- def distributor_update(request):
- distributor_id = request.POST.get('distributor_id', '')
- distributor_name = request.POST.get('distributor_name', '')
- distributor_short_name = request.POST.get('distributor_short_name', '')
- province_code = request.POST.get('province_code', '')
- province_name = request.POST.get('province_name', '')
- admin_id = request.session.get('admin_id')
- sr_id = request.POST.get('sr_id', '')
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- try:
- distributor = DistributorInfo.objects.get(brand_id=administrator.brand_id, distributor_id=distributor_id, status=True)
- except DistributorInfo.DoesNotExist:
- return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)
- if distributor_name:
- distributor.distributor_name = distributor_name
- if distributor_short_name:
- distributor.distributor_short_name = distributor_short_name
- if province_code:
- distributor.distributor_province_code = province_code
- if province_name:
- distributor.distributor_province_name = province_name
-
- if not province_code:
- distributor.distributor_province_code = ProvinceShortModelMixin.PROVINCE_NAME_CODE_DICT.get(province_name, '')
- distributor.sr_id = sr_id
- distributor.save()
- return response(200, 'Distributor Update Success', u'经销商更新成功')
- @logit
- def distributor_list(request):
- page = request.POST.get('page', 1)
- num = request.POST.get('num', 20)
- admin_id = request.session.get('admin_id')
- try:
- administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
- except AdministratorInfo.DoesNotExist:
- return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
- distributors = DistributorInfo.objects.filter(brand_id=administrator.brand_id, status=True).order_by('-pk')
- count = distributors.count()
- distributors, left = pagination(distributors, page, num)
- distributors = [distributor.admindata for distributor in distributors]
- return response(200, 'Get Distributor List Success', u'获取经销商列表成功', {
- 'distributors': distributors,
- 'count': count,
- 'left': left,
- })
|