No Description

clerk_views.py 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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. clerk_name=clerk_name,
  27. clerk_phone=clerk_phone,
  28. )
  29. return response(200, 'Clerk Add Success', u'销售员添加成功')
  30. @logit
  31. def clerk_delete(request):
  32. distributor_id = request.POST.get('distributor_id', '')
  33. clerk_id = request.POST.get('clerk_id', '')
  34. admin_id = request.session.get('admin_id')
  35. try:
  36. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  37. except AdministratorInfo.DoesNotExist:
  38. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  39. try:
  40. clerk = SaleclerkInfo.objects.get(brand_id=administrator.brand_id, clerk_id=clerk_id, status=True)
  41. except SaleclerkInfo.DoesNotExist:
  42. return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
  43. clerk.status = False
  44. clerk.save()
  45. return response(200, 'Clerk Delete Success', u'销售员删除成功')
  46. @logit
  47. def clerk_update(request):
  48. distributor_id = request.POST.get('distributor_id', '')
  49. clerk_id = request.POST.get('clerk_id', '')
  50. clerk_name = request.POST.get('clerk_name', '')
  51. clerk_phone = request.POST.get('clerk_phone', '')
  52. is_auth = request.POST.get('is_auth', '0') # 1 为已授权,0 为未授权
  53. admin_id = request.session.get('admin_id')
  54. try:
  55. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  56. except AdministratorInfo.DoesNotExist:
  57. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  58. try:
  59. clerk = SaleclerkInfo.objects.get(brand_id=administrator.brand_id, clerk_id=clerk_id, status=True)
  60. except SaleclerkInfo.DoesNotExist:
  61. return response(SaleclerkStatusCode.CLERK_NOT_FOUND)
  62. if clerk_name:
  63. clerk.clerk_name = clerk_name
  64. if clerk_phone:
  65. clerk.clerk_phone = clerk_phone
  66. if is_auth:
  67. clerk.is_auth = bool(int(is_auth))
  68. clerk.save()
  69. return response(200, 'Clerk Update Success', u'销售员更新成功')
  70. @logit
  71. def clerk_list(request):
  72. distributor_id = request.POST.get('distributor_id', '')
  73. page = request.POST.get('page', 1)
  74. num = request.POST.get('num', 20)
  75. admin_id = request.session.get('admin_id')
  76. try:
  77. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  78. except AdministratorInfo.DoesNotExist:
  79. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  80. clerks = SaleclerkInfo.objects.filter(brand_id=administrator.brand_id, status=True).order_by('-pk')
  81. if distributor_id:
  82. clerks = clerks.filter(distributor_id=distributor_id)
  83. clerks, left = pagination(clerks, page, num)
  84. clerks = [clerk.admindata for clerk in clerks]
  85. return response(200, 'Get Clerk List Success', u'获取销售员列表成功', {
  86. 'clerks': clerks,
  87. 'left': left,
  88. })