Product.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace app\controller\admin;
  3. use app\extra\basic\Base;
  4. use app\extra\tools\CodeExtend;
  5. use app\middleware\AuthMiddleware;
  6. use app\model\cpa\CpaProduct;
  7. use app\service\cpa\ProductService;
  8. use DI\Attribute\Inject;
  9. use LinFly\Annotation\Attributes\Route\Controller;
  10. use LinFly\Annotation\Attributes\Route\GetMapping;
  11. use LinFly\Annotation\Attributes\Route\Middleware;
  12. use LinFly\Annotation\Attributes\Route\PostMapping;
  13. use support\Request;
  14. use support\Response;
  15. #[Controller("/api/product"),Middleware(AuthMiddleware::class)]
  16. class Product extends Base
  17. {
  18. #[Inject]
  19. protected ProductService $service;
  20. #[Inject]
  21. protected CpaProduct $model;
  22. #[GetMapping('list')]
  23. public function getDataList(Request $request): Response
  24. {
  25. try {
  26. $param = $request->all();
  27. $data = $this->service->setModel()->getList($param);
  28. return successTrans("success.data",pageFormat($data),200);
  29. } catch (\Throwable $th) {
  30. return error($th->getMessage());
  31. }
  32. }
  33. #[PostMapping("save")]
  34. public function setDepositData(Request $request): Response
  35. {
  36. try {
  37. $param = $request->post();
  38. $state = $this->model->setAutoData($param);
  39. if (!$state) return errorTrans("error.data");
  40. return successTrans("success.data");
  41. } catch (\Throwable $throwable) {
  42. return error($throwable->getMessage());
  43. }
  44. }
  45. #[PostMapping("status")]
  46. public function setProductData(Request $request): Response
  47. {
  48. try {
  49. $param = $this->_valid([
  50. "id.require" => "参数错误",
  51. "status.require" => "参数错误"
  52. ],$request->method());
  53. if (!is_array($param)) return error($param);
  54. $product = $this->model->where("id",$param['id'])->findOrEmpty();
  55. if ($product->isEmpty()) return error("数据错误");
  56. $product->status = $param['status'] - 1;
  57. $state = $product->save();
  58. if (!$state) return errorTrans("error.data");
  59. return successTrans("success.data");
  60. } catch (\Throwable $throwable) {
  61. return error($throwable->getMessage());
  62. }
  63. }
  64. }