ImageService.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. from django.core.paginator import Paginator
  2. from DCbackend.utils.common import success, fail, pageData
  3. from backend.Form.ImageForm import ImageForm
  4. from backend.Form.ParamsForm import ParamsForm
  5. from backend.models import Params, Image
  6. class ImageService:
  7. @staticmethod
  8. def Create(request):
  9. form = ImageForm(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 = Image.objects.filter(id=request.POST.get("id")).first();
  18. if data is not None:
  19. data.category_id = request.POST.get("category_id")
  20. data.name = request.POST.get("name")
  21. data.width = request.POST.get("width")
  22. data.height = request.POST.get("height")
  23. data.path = request.POST.get("path")
  24. data.status = request.POST.get("status")
  25. data.save()
  26. return success("成功")
  27. else:
  28. return fail("更新图片信息失败")
  29. @staticmethod
  30. def Info(request):
  31. info = Image.objects.filter(id=request.POST.get("id")).first()
  32. return success(ImageService.getDetail(info))
  33. @staticmethod
  34. def Delete(request):
  35. Image.objects.filter(id=request.POST.get("id")).update(status=4)
  36. return success("成功")
  37. @staticmethod
  38. def getDetail(item: Image):
  39. return {
  40. "id": item.id,
  41. 'categoryId': item.category_id,
  42. 'name': item.name,
  43. 'width': item.width,
  44. 'height': item.height,
  45. 'path': item.path,
  46. 'createTime': item.create_time,
  47. 'status': item.status
  48. }
  49. @staticmethod
  50. def Search(request):
  51. page = request.POST.get("page")
  52. pageSize = request.POST.get("pageSize")
  53. if page is None:
  54. page = 1
  55. if pageSize is None:
  56. pageSize = 1
  57. where = {}
  58. categoryId = request.POST.get("categoryId", '')
  59. if categoryId:
  60. where["category_id"] = categoryId
  61. name = request.POST.get("name", '')
  62. if name:
  63. where["name__icontains"] = name
  64. status = request.POST.get("status")
  65. if status:
  66. where['status'] = status
  67. paginator = Paginator(Image.objects.filter(**where).exclude(status=4).order_by("-id"),pageSize) # 每页显示10条数据
  68. page_obj = paginator.get_page(page)
  69. dataList = []
  70. for item in page_obj:
  71. info = ImageService.getDetail(item)
  72. dataList.append(info)
  73. return success(pageData(page, pageSize, paginator.num_pages, paginator.count, dataList))