ImageCategoryService.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. from django.core.paginator import Paginator
  2. from DCbackend.utils.common import success, fail, pageData
  3. from backend.Form.ImageCategoryForm import ImageCategoryForm
  4. from backend.Form.SupplierForm import SupplierForm
  5. from backend.models import Supplier, ImageCategory
  6. class ImageCategoryService:
  7. @staticmethod
  8. def Create(request):
  9. form = ImageCategoryForm(request.POST)
  10. if form.is_valid():
  11. form.save()
  12. return success("成功")
  13. else:
  14. return fail(form.errors)
  15. @staticmethod
  16. def Update(request):
  17. data = ImageCategory.objects.filter(id=request.POST.get("id")).first();
  18. if data is not None:
  19. data.intro = request.POST.get("intro")
  20. data.name = request.POST.get("name")
  21. data.status = request.POST.get("status")
  22. data.save()
  23. return success("成功")
  24. else:
  25. return fail("更新供应商信息失败")
  26. @staticmethod
  27. def Info(request):
  28. info = ImageCategory.objects.filter(id=request.POST.get("id")).first()
  29. return success(ImageCategoryService.getDetail(info))
  30. @staticmethod
  31. def Delete(request):
  32. ImageCategory.objects.filter(id=request.POST.get("id")).update(status=4)
  33. return success("成功")
  34. @staticmethod
  35. def getDetail(item: ImageCategory):
  36. return {
  37. "id": item.id,
  38. 'intro': item.intro,
  39. 'name': item.name,
  40. 'createTime': item.create_time,
  41. 'status': item.status
  42. }
  43. @staticmethod
  44. def Search(request):
  45. page = request.POST.get("page")
  46. pageSize = request.POST.get("pageSize")
  47. if page is None:
  48. page = 1
  49. if pageSize is None:
  50. pageSize = 1
  51. where = {}
  52. name = request.POST.get("name", '')
  53. if name:
  54. where["name__icontains"] = name
  55. status = request.POST.get("status")
  56. if status:
  57. where['status'] = status
  58. paginator = Paginator(ImageCategory.objects.filter(**where).exclude(status=4).order_by("-id"),
  59. pageSize) # 每页显示10条数据
  60. page_obj = paginator.get_page(page)
  61. dataList = []
  62. for item in page_obj:
  63. info = ImageCategoryService.getDetail(item)
  64. dataList.append(info)
  65. return success(pageData(page, pageSize, paginator.num_pages, paginator.count, dataList))