暂无描述

salesman_mp_views.py 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # -*- coding: utf-8 -*-
  2. from __future__ import division
  3. from django.conf import settings
  4. from django.db import transaction
  5. from django_logit import logit
  6. from django_response import response
  7. from paginator import pagination
  8. from mch.models import BrandInfo, DistributorInfo, SaleclerkInfo
  9. from utils.error.errno_utils import ProductDistributorStatusCode, SaleclerkStatusCode
  10. @logit
  11. def distributor_list(request):
  12. page = request.POST.get('page', 1)
  13. num = request.POST.get('num', 20)
  14. distributors = DistributorInfo.objects.filter(status=True).order_by('distributor_name')
  15. count = distributors.count()
  16. distributors, left = pagination(distributors, page, num)
  17. distributors = [distributor.admindata for distributor in distributors]
  18. return response(200, 'Get Distributor List Success', u'获取经销商列表成功', {
  19. 'distributors': distributors,
  20. 'count': count,
  21. 'left': left,
  22. })
  23. @logit
  24. def salesman_detail(request):
  25. user_id = request.POST.get('user_id', '')
  26. try:
  27. salesman = SaleclerkInfo.objects.get(user_id=user_id, status=True)
  28. except SaleclerkInfo.DoesNotExist:
  29. return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
  30. return response(200, 'Get Salesman Detail Success', u'获取销售员信息成功', data=salesman.data)
  31. @logit
  32. @transaction.atomic
  33. def salesman_register(request):
  34. """ 店员授权信息提交 """
  35. user_id = request.POST.get('user_id', '')
  36. brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
  37. distributor_id = request.POST.get('distributor_id', '')
  38. unionid = request.POST.get('unionid', '')
  39. openid = request.POST.get('openid', '')
  40. phone = request.POST.get('phone', '')
  41. if SaleclerkInfo.objects.filter(clerk_phone=phone).exclude(unionid=unionid).exists():
  42. return response(SaleclerkStatusCode.CLERK_PHONE_ALREADY_EXISTS)
  43. try:
  44. distributor = DistributorInfo.objects.get(distributor_id=distributor_id)
  45. except DistributorInfo.DoesNotExist:
  46. return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)
  47. fields = {
  48. 'distributor_id': distributor_id,
  49. 'user_id': user_id,
  50. 'distributor_name': distributor.distributor_name,
  51. 'clerk_name': request.POST.get('name', ''),
  52. 'clerk_sex': int(request.POST.get('sex', 1)),
  53. 'clerk_phone': phone,
  54. 'openid': openid,
  55. 'user_status': SaleclerkInfo.UNVERIFIED,
  56. }
  57. clerk, _ = SaleclerkInfo.objects.update_or_create(brand_id=brand_id, unionid=unionid, defaults=fields)
  58. return response(200, 'Submit Success', u'提交成功', {})