RentalUserController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace plugin\saiadmin\app\controller\user;
  3. use plugin\saiadmin\app\logic\user\RentalUserLogic;
  4. use plugin\saiadmin\app\validate\user\MemberActivationValidate;
  5. use plugin\saiadmin\app\validate\user\WalletRechargeValidate;
  6. use plugin\saiadmin\basic\BaseController;
  7. use plugin\saiadmin\service\Permission;
  8. use support\Request;
  9. use support\Response;
  10. /**
  11. * 小程序租借用户控制器。
  12. */
  13. class RentalUserController extends BaseController
  14. {
  15. public function __construct()
  16. {
  17. $this->logic = new RentalUserLogic();
  18. $this->validate = new WalletRechargeValidate();
  19. parent::__construct();
  20. }
  21. #[Permission('用户列表', 'core:user:list:index')]
  22. public function index(Request $request): Response
  23. {
  24. return $this->success($this->logic->indexList($request->more([
  25. ['source', ''], ['user_id', ''], ['nickname', ''], ['phone', ''],
  26. ])));
  27. }
  28. #[Permission('用户订单记录', 'core:user:list:orders')]
  29. public function orders(Request $request): Response
  30. {
  31. return $this->success($this->logic->orderList((int) $request->input('user_id', 0)));
  32. }
  33. #[Permission('用户资金充值', 'core:user:list:recharge')]
  34. public function recharge(Request $request): Response
  35. {
  36. $data = $request->post();
  37. if ($data === []) {
  38. $json = json_decode($request->rawBody(), true);
  39. $data = is_array($json) ? $json : [];
  40. }
  41. $this->validate('recharge', $data);
  42. $result = $this->logic->recharge(
  43. $data,
  44. (int) $this->adminId,
  45. (string) ($this->adminInfo['username'] ?? '')
  46. );
  47. return $this->success($result, '账户余额调整成功');
  48. }
  49. #[Permission('用户会员开通', 'core:user:list:memberActivation')]
  50. public function memberActivation(Request $request): Response
  51. {
  52. $data = $request->post();
  53. if ($data === []) {
  54. $json = json_decode($request->rawBody(), true);
  55. $data = is_array($json) ? $json : [];
  56. }
  57. $memberValidate = new MemberActivationValidate();
  58. if (!$memberValidate->scene('activate')->check($data)) {
  59. return $this->fail($memberValidate->getError());
  60. }
  61. $result = $this->logic->activateMember(
  62. $data,
  63. (int) $this->adminId,
  64. (string) ($this->adminInfo['username'] ?? '')
  65. );
  66. return $this->success($result, '会员开通成功');
  67. }
  68. }