views.py 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. # coding=utf-8
  2. from django.db import transaction
  3. from rest_framework.decorators import action
  4. from utils import response_ok
  5. from utils.custom_modelviewset import CustomModelViewSet
  6. from apps.account import tenant_log
  7. from apps.foundation.models import BizLog
  8. from .filters import *
  9. from .serializers import *
  10. from .models import *
  11. class VhicleDriveReserveViewSet(CustomModelViewSet):
  12. queryset = VhicleDriveReserve.objects.filter(delete=False)
  13. serializer_class = VhicleDriveReserveSerializer
  14. def filter_queryset(self, queryset):
  15. f = VhicleDriveReserveFilter(self.request.GET, queryset=queryset)
  16. return f.qs
  17. @action(methods=['post'], detail=True)
  18. def change_status(self, request, pk):
  19. order = VhicleDriveReserve.objects.filter(id=pk).first()
  20. status = request.GET.get('status')
  21. with transaction.atomic():
  22. order.status = int(status)
  23. order.save()
  24. tenant_log(self.request.user, BizLog.UPDATE, u'修改试驾单状态[%s],id=%d' % (VhicleDriveReserve.STATUS_CHOICES[order.status-1][1], order.id))
  25. return response_ok()
  26. class VhicleInquiryViewSet(CustomModelViewSet):
  27. queryset = VhicleInquiry.objects.filter(delete=False)
  28. serializer_class = VhicleInquirySerializer
  29. def filter_queryset(self, queryset):
  30. f = VhicleInquiryFilter(self.request.GET, queryset=queryset)
  31. return f.qs
  32. @action(methods=['post'], detail=True)
  33. def visit(self, request, pk):
  34. order = VhicleInquiry.objects.filter(id=pk).first()
  35. with transaction.atomic():
  36. if order.status != VhicleInquiry.WAIT_VISIT:
  37. raise CustomError(u'当前状态不允许修改!')
  38. order.status = VhicleInquiry.VISITED
  39. order.save()
  40. tenant_log(self.request.user, BizLog.UPDATE, u'新车询价单回访,id=%d' % (order.id))
  41. return response_ok()
  42. class UsedVhicleInquiryViewSet(CustomModelViewSet):
  43. queryset = UsedVhicleInquiry.objects.filter(delete=False)
  44. serializer_class = UsedVhicleInquirySerializer
  45. def filter_queryset(self, queryset):
  46. f = UsedVhicleInquiryFilter(self.request.GET, queryset=queryset)
  47. return f.qs
  48. @action(methods=['post'], detail=True)
  49. def visit(self, request, pk):
  50. order = UsedVhicleInquiry.objects.filter(id=pk).first()
  51. with transaction.atomic():
  52. if order.status != UsedVhicleInquiry.WAIT_VISIT:
  53. raise CustomError(u'当前状态不允许修改!')
  54. order.status = UsedVhicleInquiry.VISITED
  55. order.save()
  56. tenant_log(self.request.user, BizLog.UPDATE, u'二手车询价单回访,id=%d' % (order.id))
  57. return response_ok()
  58. class UsedVhicleEstimateViewSet(CustomModelViewSet):
  59. queryset = UsedVhicleEstimate.objects.filter(delete=False)
  60. serializer_class = UsedVhicleEstimateSerializer
  61. def filter_queryset(self, queryset):
  62. f = UsedVhicleEstimateFilter(self.request.GET, queryset=queryset)
  63. return f.qs
  64. @action(methods=['post'], detail=True)
  65. def visit(self, request, pk):
  66. order = UsedVhicleEstimate.objects.filter(id=pk).first()
  67. with transaction.atomic():
  68. if order.status != UsedVhicleEstimate.WAIT_VISIT:
  69. raise CustomError(u'当前状态不允许修改!')
  70. order.status = UsedVhicleEstimate.VISITED
  71. order.save()
  72. tenant_log(self.request.user, BizLog.UPDATE, u'二手车预估单回访,id=%d' % (order.id))
  73. return response_ok()