|  | # -*- coding: utf-8 -*-
from __future__ import division
from django.conf import settings
from django.db import transaction
from django_logit import logit
from django_response import response
from paginator import pagination
from mch.models import BrandInfo, DistributorInfo, SaleclerkInfo
from utils.error.errno_utils import ProductDistributorStatusCode, SaleclerkStatusCode
@logit
def distributor_list(request):
    page = request.POST.get('page', 1)
    num = request.POST.get('num', 20)
    distributors = DistributorInfo.objects.filter(status=True).order_by('distributor_name')
    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,
    })
@logit
def salesman_detail(request):
  user_id = request.POST.get('user_id', '')
  try:
    salesman = SaleclerkInfo.objects.get(user_id=user_id, status=True)
  except SaleclerkInfo.DoesNotExist:
    return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
  return response(200, 'Get Salesman Detail Success', u'获取销售员信息成功', data=salesman.data)
@logit
@transaction.atomic
def salesman_register(request):
    """ 店员授权信息提交 """
    user_id = request.POST.get('user_id', '')
    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
    distributor_id = request.POST.get('distributor_id', '')
    unionid = request.POST.get('unionid', '')
    openid = request.POST.get('openid', '')
    phone = request.POST.get('phone', '')
    if SaleclerkInfo.objects.filter(clerk_phone=phone).exclude(unionid=unionid).exists():
        return response(SaleclerkStatusCode.CLERK_PHONE_ALREADY_EXISTS)
    try:
        distributor = DistributorInfo.objects.get(distributor_id=distributor_id)
    except DistributorInfo.DoesNotExist:
        return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)
    fields = {
        'distributor_id': distributor_id,
        'user_id': user_id,
        'distributor_name': distributor.distributor_name,
        'clerk_name': request.POST.get('name', ''),
        'clerk_sex': int(request.POST.get('sex', 1)),
        'clerk_phone': phone,
        'openid': openid,
        'user_status': SaleclerkInfo.UNVERIFIED,
    }
    clerk, _ = SaleclerkInfo.objects.update_or_create(brand_id=brand_id, unionid=unionid, defaults=fields)
    return response(200, 'Submit Success', u'提交成功', {})
 |