ParamsService.py 3.0 KB

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