1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from django.core.paginator import Paginator
- from DCbackend.utils.common import success, pageData
- from backend.models import Customer
- class CustomerService:
- @staticmethod
- def getDetail(item: Customer):
- return {
- "id": item.id,
- 'code': item.code,
- 'name': item.name,
- 'enName': item.en_name,
- 'mobile': item.mobile,
- 'contact': item.contact,
- 'address': item.address,
- 'other': item.other,
- 'createTime': item.create_time,
- 'status': item.status
- }
- @staticmethod
- def Search(request):
- page = request.POST.get("page")
- pageSize = request.POST.get("pageSize")
- if page is None:
- page = 1
- if pageSize is None:
- pageSize = 1
- where = {}
- code = request.POST.get("code", '')
- if code:
- where["code__icontains"] = code
- name = request.POST.get("name", '')
- if name:
- where["name__icontains"] = name
- status = request.POST.get("status")
- if status:
- where['status'] = status
- paginator = Paginator(Customer.objects.filter(**where).exclude(status=4).order_by("-id"), pageSize) # 每页显示10条数据
- page_obj = paginator.get_page(page)
- dataList = []
- for item in page_obj:
- info = CustomerService.getDetail(item)
- dataList.append(info)
- return success(pageData(page, pageSize, paginator.num_pages, paginator.count, dataList))
|