UserBrokerage.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace app\controller\admin\user;
  3. use app\common\repositories\user\UserBrokerageRepository;
  4. use app\validate\admin\UserBrokerageValidate;
  5. use ln\basic\BaseController;
  6. use think\App;
  7. class UserBrokerage extends BaseController
  8. {
  9. protected $repository;
  10. public function __construct(App $app, UserBrokerageRepository $repository)
  11. {
  12. parent::__construct($app);
  13. $this->repository = $repository;
  14. }
  15. public function options()
  16. {
  17. return app('json')->success($this->repository->options());
  18. }
  19. public function getLst()
  20. {
  21. [$page, $limit] = $this->getPage();
  22. $where = $this->request->params(['brokerage_name']);
  23. return app('json')->success($this->repository->getList($where, $page, $limit));
  24. }
  25. public function create()
  26. {
  27. $data = $this->checkParams();
  28. if ($this->repository->fieldExists('brokerage_level', $data['brokerage_level'])) {
  29. return app('json')->fail('会员等级已存在');
  30. }
  31. $this->repository->create($data);
  32. return app('json')->success('添加成功');
  33. }
  34. public function update($id)
  35. {
  36. $id = (int)$id;
  37. $data = $this->checkParams();
  38. if (!$id || !$this->repository->exists($id)) {
  39. return app('json')->fail('数据不存在');
  40. }
  41. if ($this->repository->fieldExists('brokerage_level', $data['brokerage_level'], $id)) {
  42. return app('json')->fail('会员等级已存在');
  43. }
  44. $data['brokerage_rule'] = json_encode($data['brokerage_rule'], JSON_UNESCAPED_UNICODE);
  45. $this->repository->update($id, $data);
  46. return app('json')->success('修改成功');
  47. }
  48. public function detail($id)
  49. {
  50. $id = (int)$id;
  51. if (!$id || !$brokerage = $this->repository->get($id)) {
  52. return app('json')->fail('数据不存在');
  53. }
  54. return app('json')->success($brokerage->toArray());
  55. }
  56. public function delete($id)
  57. {
  58. $id = (int)$id;
  59. if (!$id || !$brokerage = $this->repository->get($id)) {
  60. return app('json')->fail('数据不存在');
  61. }
  62. if ($brokerage->user_num > 0) {
  63. return app('json')->fail('该等级下有数据,不能进行删除操作!');
  64. }
  65. $brokerage->delete();
  66. return app('json')->success('删除成功');
  67. }
  68. public function checkParams()
  69. {
  70. $data = $this->request->params(['brokerage_level', 'brokerage_name', 'brokerage_icon', 'brokerage_rule', 'extension_one', 'extension_two']);
  71. app()->make(UserBrokerageValidate::class)->check($data);
  72. return $data;
  73. }
  74. }