暂无描述

clerk_views.py 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # -*- coding: utf-8 -*-
  2. from __future__ import division
  3. from django_logit import logit
  4. from django_response import response
  5. from paginator import pagination
  6. from mch.models import AdministratorInfo, DistributorInfo, SaleclerkInfo
  7. from utils.error.errno_utils import AdministratorStatusCode, ProductDistributorStatusCode, SaleclerkStatusCode
  8. @logit
  9. def clerk_add(request):
  10. distributor_id = request.POST.get('distributor_id', '')
  11. clerk_name = request.POST.get('clerk_name', '')
  12. clerk_phone = request.POST.get('clerk_phone', '')
  13. admin_id = request.session.get('admin_id')
  14. try:
  15. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  16. except AdministratorInfo.DoesNotExist:
  17. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  18. # try:
  19. # distributor = DistributorInfo.objects.get(distributor_id=distributor_id, status=True)
  20. # except DistributorInfo.DoesNotExist:
  21. # return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)
  22. SaleclerkInfo.objects.create(
  23. brand_id=administrator.brand_id,
  24. distributor_id=distributor_id,
  25. # distributor_name=distributor.distributor_name,
  26. distributor_name='',
  27. clerk_name=clerk_name,
  28. clerk_phone=clerk_phone,
  29. )
  30. return response(200, 'Clerk Add Success', u'销售员添加成功')
  31. @logit
  32. def clerk_delete(request):
  33. distributor_id = request.POST.get('distributor_id', '')
  34. clerk_id = request.POST.get('clerk_id', '')
  35. admin_id = request.session.get('admin_id')
  36. try:
  37. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  38. except AdministratorInfo.DoesNotExist:
  39. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  40. try:
  41. clerk = SaleclerkInfo.objects.get(brand_id=administrator.brand_id, clerk_id=clerk_id, status=True)
  42. except SaleclerkInfo.DoesNotExist:
  43. return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
  44. clerk.status = False
  45. clerk.save()
  46. return response(200, 'Clerk Delete Success', u'销售员删除成功')
  47. @logit
  48. def clerk_update(request):
  49. distributor_id = request.POST.get('distributor_id', '')
  50. clerk_id = request.POST.get('clerk_id', '')
  51. clerk_name = request.POST.get('clerk_name', '')
  52. clerk_phone = request.POST.get('clerk_phone', '')
  53. is_auth = request.POST.get('is_auth', '0') # 1 为已授权,0 为未授权
  54. admin_id = request.session.get('admin_id')
  55. try:
  56. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  57. except AdministratorInfo.DoesNotExist:
  58. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  59. try:
  60. clerk = SaleclerkInfo.objects.get(brand_id=administrator.brand_id, clerk_id=clerk_id, status=True)
  61. except SaleclerkInfo.DoesNotExist:
  62. return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
  63. if clerk_name:
  64. clerk.clerk_name = clerk_name
  65. if clerk_phone:
  66. clerk.clerk_phone = clerk_phone
  67. if is_auth:
  68. clerk.is_auth = bool(int(is_auth))
  69. clerk.save()
  70. return response(200, 'Clerk Update Success', u'销售员更新成功')
  71. @logit
  72. def clerk_list(request):
  73. distributor_id = request.POST.get('distributor_id', '')
  74. page = request.POST.get('page', 1)
  75. num = request.POST.get('num', 20)
  76. admin_id = request.session.get('admin_id')
  77. try:
  78. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  79. except AdministratorInfo.DoesNotExist:
  80. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  81. clerks = SaleclerkInfo.objects.filter(brand_id=administrator.brand_id, status=True).order_by('-pk')
  82. if distributor_id:
  83. clerks = clerks.filter(distributor_id=distributor_id)
  84. count = clerks.count()
  85. clerks, left = pagination(clerks, page, num)
  86. clerks = [clerk.admindata for clerk in clerks]
  87. return response(200, 'Get Clerk List Success', u'获取销售员列表成功', {
  88. 'clerks': clerks,
  89. 'count': count,
  90. 'left': left,
  91. })