views.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # coding=utf-8
  2. import traceback
  3. from django.utils import timezone
  4. from django.db.models import Q
  5. from rest_framework.decorators import action
  6. from django.db import transaction
  7. from rest_framework.serializers import ValidationError
  8. from utils.permission import permission_required, isLogin
  9. from rest_framework.views import APIView
  10. from rest_framework_jwt.views import ObtainJSONWebToken, VerifyJSONWebToken, RefreshJSONWebToken
  11. from utils import response_error, response_ok
  12. from django.contrib.auth import get_user_model
  13. User = get_user_model()
  14. from apps.agent.serializers import AgentComboboxSerializer,StoreComboboxSerializer
  15. from utils.custom_modelviewset import CustomModelViewSet
  16. from apps.log.models import BizLog
  17. from apps.agent.models import Agent, Store
  18. class AgentDictView(APIView):
  19. permission_classes = [isLogin, ]
  20. def get(self, request):
  21. rows = Agent.objects.filter(Q(create_user=request.user) | Q(id=request.user.agent_id))
  22. agents = AgentComboboxSerializer(rows, many=True).data
  23. stores = []
  24. for row in rows:
  25. store = Store.objects.filter(agent=row, enable=True, end_date__gte=timezone.now().date())
  26. store_serializer = StoreComboboxSerializer(store, many=True).data
  27. stores.append(store_serializer)
  28. return response_ok({
  29. 'agents': agents,
  30. 'stores': stores,
  31. })