User.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace app\controller\adminapi\user;
  3. use app\extra\basic\Base;
  4. use app\extra\service\user\UserService;
  5. use app\middleware\AuthMiddleware;
  6. use DI\Attribute\Inject;
  7. use LinFly\Annotation\Route\Controller;
  8. use LinFly\Annotation\Route\Middleware;
  9. use LinFly\Annotation\Route\Route;
  10. use support\Request;
  11. use support\Response;
  12. #[Controller(prefix: "/adminapi/users/"),Middleware(AuthMiddleware::class)]
  13. class User extends Base
  14. {
  15. #[Inject]
  16. protected UserService $service;
  17. #[Route(path: "list",methods: "get")]
  18. public function getList(Request $request): Response
  19. {
  20. try {
  21. $param = $request->get();
  22. $list = $this->service->getList($param,'*',$param['page']??0,$param['limit']??0);
  23. return successTrans("success.data",$list);
  24. } catch (\Throwable $throwable) {
  25. return error($throwable->getMessage());
  26. }
  27. }
  28. #[Route(path: "save",methods: "post")]
  29. public function save(Request $request): Response
  30. {
  31. try {
  32. $param = $request->post();
  33. if (!$this->validate->check($param)) return error($this->validate->getError());
  34. $param = $this->validate->checked($param);
  35. $state = $this->service->save($param);
  36. if ($state->isEmpty()) return errorTrans("empty.error");
  37. return successTrans("success.data");
  38. } catch (\Throwable $throwable) {
  39. return error($throwable->getMessage());
  40. }
  41. }
  42. #[Route(path: "set_status/{id}/{status}",methods: "get")]
  43. public function set_status($id,$status): Response
  44. {
  45. try {
  46. $state = $this->service->update($id,['status'=>$status]);
  47. if (!$state) return errorTrans("empty.error");
  48. return successTrans($status?'显示成功':'禁用成功');
  49. } catch (\Throwable $throwable) {
  50. return error($throwable->getMessage());
  51. }
  52. }
  53. #[Route(path: "del/{id}",methods: "delete")]
  54. public function delete($id): Response
  55. {
  56. try {
  57. $state = $this->service->update($id,['is_del'=>1]);
  58. if (!$state) return errorTrans("empty.error");
  59. return successTrans('删除成功');
  60. } catch (\Throwable $throwable) {
  61. return error($throwable->getMessage());
  62. }
  63. }
  64. }