暂无描述

model_views.py 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. # -*- coding: utf-8 -*-
  2. from __future__ import division
  3. import monetary
  4. from django_logit import logit
  5. from django_response import response
  6. from paginator import pagination
  7. from mch.models import AdministratorInfo, ModelInfo
  8. from utils.error.errno_utils import AdministratorStatusCode, ProductModelStatusCode
  9. @logit
  10. def model_add(request):
  11. model_name = request.POST.get('model_name', '')
  12. model_full_name = request.POST.get('model_full_name', '')
  13. image_path = request.POST.get('image_path', '')
  14. factory_yuan = request.POST.get('factory_yuan', 1000)
  15. integral = int(request.POST.get('integral', 100))
  16. admin_id = request.session.get('admin_id')
  17. try:
  18. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
  19. except AdministratorInfo.DoesNotExist:
  20. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  21. ModelInfo.objects.create(
  22. brand_id=administrator.brand_id,
  23. model_name=model_name,
  24. model_full_name=model_full_name,
  25. image=image_path,
  26. factory_yuan=factory_yuan,
  27. factory_fee=monetary.Yuan2Fen(factory_yuan),
  28. integral=integral,
  29. )
  30. return response(200, 'Model Add Success', u'型号添加成功')
  31. @logit
  32. def model_delete(request):
  33. model_id = request.POST.get('model_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. modelObj = ModelInfo.objects.get(brand_id=administrator.brand_id, model_id=model_id, status=True)
  41. except ModelInfo.DoesNotExist:
  42. return response(ProductModelStatusCode.MODEL_NOT_FOUND)
  43. modelObj.status = False
  44. modelObj.save()
  45. return response(200, 'Model Delete Success', u'型号删除成功')
  46. @logit
  47. def model_update(request):
  48. model_id = request.POST.get('model_id', '')
  49. model_name = request.POST.get('model_name', '')
  50. model_full_name = request.POST.get('model_full_name', '')
  51. image_path = request.POST.get('image_path', '')
  52. factory_yuan = request.POST.get('factory_yuan', 1000)
  53. integral = int(request.POST.get('integral', 100))
  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. modelObj = ModelInfo.objects.get(brand_id=administrator.brand_id, model_id=model_id, status=True)
  61. except ModelInfo.DoesNotExist:
  62. return response(ProductModelStatusCode.MODEL_NOT_FOUND)
  63. if model_name:
  64. modelObj.model_name = model_name
  65. if model_full_name:
  66. modelObj.model_full_name = model_full_name
  67. if image_path:
  68. modelObj.distributor_province_name = image_path
  69. if factory_yuan:
  70. modelObj.factory_yuan = factory_yuan
  71. modelObj.factory_fee = monetary.Yuan2Fen(factory_yuan)
  72. if integral:
  73. modelObj.integral = integral
  74. modelObj.save()
  75. return response(200, 'Model Update Success', u'型号更新成功')
  76. @logit
  77. def model_list(request):
  78. page = request.POST.get('page', 1)
  79. num = request.POST.get('num', 20)
  80. admin_id = request.session.get('admin_id')
  81. try:
  82. administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True).order_by('-pk')
  83. except AdministratorInfo.DoesNotExist:
  84. return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
  85. models = ModelInfo.objects.filter(brand_id=administrator.brand_id, status=True)
  86. models, left = pagination(models, page, num)
  87. models = [mdl.admindata for mdl in models]
  88. return response(200, 'Get Model List Success', u'获取型号列表成功', {
  89. 'models': models,
  90. 'left': left,
  91. })