CustomerService.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from django.core.paginator import Paginator
  2. from DCbackend.utils.common import success, pageData
  3. from backend.models import Customer
  4. class CustomerService:
  5. @staticmethod
  6. def getDetail(item: Customer):
  7. return {
  8. "id": item.id,
  9. 'code': item.code,
  10. 'name': item.name,
  11. 'enName': item.en_name,
  12. 'mobile': item.mobile,
  13. 'contact': item.contact,
  14. 'address': item.address,
  15. 'other': item.other,
  16. 'createTime': item.create_time,
  17. 'status': item.status
  18. }
  19. @staticmethod
  20. def Search(request):
  21. page = request.POST.get("page")
  22. pageSize = request.POST.get("pageSize")
  23. if page is None:
  24. page = 1
  25. if pageSize is None:
  26. pageSize = 1
  27. where = {}
  28. code = request.POST.get("code", '')
  29. if code:
  30. where["code__icontains"] = code
  31. name = request.POST.get("name", '')
  32. if name:
  33. where["name__icontains"] = name
  34. status = request.POST.get("status")
  35. if status:
  36. where['status'] = status
  37. paginator = Paginator(Customer.objects.filter(**where).exclude(status=4).order_by("-id"), pageSize) # 每页显示10条数据
  38. page_obj = paginator.get_page(page)
  39. dataList = []
  40. for item in page_obj:
  41. info = CustomerService.getDetail(item)
  42. dataList.append(info)
  43. return success(pageData(page, pageSize, paginator.num_pages, paginator.count, dataList))