Category.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. namespace app\controller\admin;
  3. use app\extra\basic\Base;
  4. use app\extra\service\blue\CategoryService;
  5. use app\extra\tools\DataExtend;
  6. use app\middleware\AuthMiddleware;
  7. use app\model\blue\BlueCategory;
  8. use DI\Attribute\Inject;
  9. use LinFly\Annotation\Route\Controller;
  10. use LinFly\Annotation\Route\Middleware;
  11. use LinFly\Annotation\Route\Route;
  12. use support\Request;
  13. use support\Response;
  14. #[Controller(prefix: "/api/category"),Middleware(AuthMiddleware::class)]
  15. class Category extends Base
  16. {
  17. #[Inject]
  18. protected BlueCategory $model;
  19. #[Inject]
  20. protected CategoryService $service;
  21. #[Route(path: "list",methods: "get")]
  22. public function getCategoryData(Request $request): Response
  23. {
  24. try {
  25. $data = $this->service->getList($request->all());
  26. $tree = DataExtend::arr2tree($data,"id","parent_id");
  27. return successTrans(100010,$tree,200);
  28. } catch (\Throwable $throwable) {
  29. return error($throwable->getMessage());
  30. }
  31. }
  32. /**
  33. * 编辑信息
  34. * @param Request $request
  35. * @return Response
  36. */
  37. #[Route(path: "save",methods: "post")]
  38. public function setListData(Request $request): Response
  39. {
  40. try {
  41. $param = $request->post();
  42. if (isset($param['id'])) {
  43. $factory = $this->model->where("id",$param['id'])->findOrEmpty();
  44. if ($factory->isEmpty()) return errorTrans("error.data");
  45. }
  46. $state = $this->model->setAutoData($param);
  47. if (!$state) return errorTrans("error.data");
  48. return successTrans("success.data");
  49. } catch (\Throwable $throwable) {
  50. return error($throwable->getMessage());
  51. }
  52. }
  53. /**
  54. * 批量操作
  55. * @param Request $request
  56. * @return Response
  57. */
  58. #[Route(path: "batch",methods: "post")]
  59. public function setGoodsBatch(Request $request): Response
  60. {
  61. try {
  62. $param = $this->_valid([
  63. "id.require" => "参数错误",
  64. "value.require" => "参数错误",
  65. "field.require" => "参数错误",
  66. "type.require" => "参数错误"
  67. ],"post");
  68. if (!is_array($param)) return error($param);
  69. if ($param['type'] == "batch") {
  70. $state = $this->model->where("id","in",$param['id'])->save([$param['field'] => $param['value']]);
  71. } else {
  72. $state = $this->model->where("id",$param['id'])->save([$param['field'] => $param['value']]);
  73. }
  74. if (!$state) return errorTrans("error.data");
  75. return successTrans("success.data");
  76. } catch (\Throwable $throwable) {
  77. return error($throwable->getMessage());
  78. }
  79. }
  80. /**
  81. * 删除
  82. * @param Request $request
  83. * @return Response
  84. */
  85. #[Route(path: "del",methods: "post")]
  86. public function delData(Request $request): Response
  87. {
  88. try {
  89. $param = $this->_valid([
  90. "id.require" => "参数错误",
  91. ],"post");
  92. if (!is_array($param)) return error($param);
  93. $data = $this->model->where("id",$param['id'])->findOrEmpty();
  94. if ($data->isEmpty()) return errorTrans("empty.data");
  95. $state = $data->delete();
  96. if (!$state) return errorTrans("error.data");
  97. return successTrans("success.data");
  98. } catch (\Throwable $throwable) {
  99. return error($throwable->getMessage());
  100. }
  101. }
  102. }