views.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # coding=utf-8
  2. import requests
  3. from django.db import transaction
  4. from rest_framework.views import APIView
  5. from rest_framework import generics
  6. from utils import response_ok, response_error
  7. from utils.exceptions import CustomError
  8. from utils.permission import IsCustomerUser
  9. from utils.custom_modelviewset import CustomModelViewSet
  10. from apps.xgjsms.models import XGJVCode
  11. from apps.vehicle.models import Vehicle
  12. from apps.vehicle.filters import VehicleFilter
  13. from apps.log.models import BizLog
  14. from .serializers import *
  15. class VCodeSendView(APIView):
  16. permission_classes = [IsCustomerUser, ]
  17. def get(self, request, *args, **kwargs):
  18. tel = request.GET.get('tel')
  19. appid = request.GET.get('appid')
  20. try:
  21. XGJVCode.send(tel, appid)
  22. except CustomError as e:
  23. return response_error(e.get_error_msg())
  24. return response_ok()
  25. # class VCodeVerifyView(APIView):
  26. # permission_classes = [IsCustomerUser, ]
  27. #
  28. # def post(self, request):
  29. # tel = request.POST.get('tel')
  30. # vcode = request.POST.get('vcode')
  31. #
  32. # if not tel:
  33. # raise CustomError(u'手机号码不能为空!')
  34. # if not vcode:
  35. # raise CustomError(u'验证码不能为空!')
  36. #
  37. # XGJVCode.verify(tel, vcode)
  38. # return response_ok()
  39. class VehicleViewSet(CustomModelViewSet):
  40. permission_classes = [IsCustomerUser, ]
  41. queryset = Vehicle.objects.filter()
  42. serializer_class = VehicleSerializer
  43. def filter_queryset(self, queryset):
  44. queryset = queryset.filter(user=self.request.user)
  45. f = VehicleFilter(self.request.GET, queryset=queryset)
  46. return f.qs
  47. def perform_create(self, serializer):
  48. super(VehicleViewSet, self).perform_create(serializer)
  49. instance = serializer.instance
  50. validated_data = serializer.validated_data
  51. BizLog.objects.addnew(self.request.user, BizLog.INSERT, u'绑定设备,id=%d' % instance.id, validated_data)
  52. def perform_update(self, serializer):
  53. super(VehicleViewSet, self).perform_update(serializer)
  54. instance = serializer.instance
  55. validated_data = serializer.validated_data
  56. BizLog.objects.addnew(self.request.user, BizLog.UPDATE, u'换绑设备,id=%d' % instance.id, validated_data)