MerchantAdmin.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace app\controller\admin\system\merchant;
  3. use ln\basic\BaseController;
  4. use app\common\repositories\system\merchant\MerchantAdminRepository;
  5. use app\validate\admin\AdminValidate;
  6. use FormBuilder\Exception\FormBuilderException;
  7. use think\App;
  8. use think\db\exception\DbException;
  9. /**
  10. * Class MerchantAdmin
  11. * @package app\controller\admin\system\merchant
  12. * @author zfy
  13. * @day 2020-04-17
  14. */
  15. class MerchantAdmin extends BaseController
  16. {
  17. /**
  18. * @var MerchantAdminRepository
  19. */
  20. protected $repository;
  21. /**
  22. * MerchantAdmin constructor.
  23. * @param App $app
  24. * @param MerchantAdminRepository $repository
  25. */
  26. public function __construct(App $app, MerchantAdminRepository $repository)
  27. {
  28. parent::__construct($app);
  29. $this->repository = $repository;
  30. }
  31. /**
  32. * @param int $id
  33. * @return mixed
  34. * @throws FormBuilderException
  35. * @author zfy
  36. * @day 2020-04-17
  37. */
  38. public function passwordForm($id)
  39. {
  40. return app('json')->success(formToData($this->repository->passwordForm($id, 1)));
  41. }
  42. /**
  43. * @param int $id
  44. * @param AdminValidate $validate
  45. * @return mixed
  46. * @throws DbException
  47. * @author zfy
  48. * @day 2020-04-17
  49. */
  50. public function password($id, AdminValidate $validate)
  51. {
  52. $data = $this->request->params(['pwd', 'againPassword']);
  53. $validate->isPassword()->check($data);
  54. if ($data['pwd'] !== $data['againPassword'])
  55. return app('json')->fail('两次密码输入不一致');
  56. $adminId = $this->repository->merchantIdByTopAdminId($id);
  57. if (!$adminId)
  58. return app('json')->fail('商户不存在');
  59. $data['pwd'] = $this->repository->passwordEncode($data['pwd']);
  60. unset($data['againPassword']);
  61. $this->repository->update($adminId, $data);
  62. return app('json')->success('修改密码成功');
  63. }
  64. }