Dealer.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. /**
  3. *
  4. * @copyright ©2020 点小铺
  5. * @author hanj
  6. * @link: https://dyuit.com
  7. * Created by VSCode
  8. */
  9. namespace app\api\controller\user;
  10. use app\api\controller\Controller;
  11. use app\api\model\dealer\Setting;
  12. use app\api\model\dealer\User as DealerUserModel;
  13. use app\api\model\dealer\Apply as DealerApplyModel;
  14. /**
  15. * 分销中心
  16. * Class Dealer
  17. * @package app\api\controller\user
  18. */
  19. class Dealer extends Controller
  20. {
  21. /* @var \app\api\model\User $user */
  22. private $user;
  23. private $dealer;
  24. private $setting;
  25. /**
  26. * 构造方法
  27. * @throws \app\common\exception\BaseException
  28. * @throws \think\exception\DbException
  29. */
  30. public function _initialize()
  31. {
  32. parent::_initialize();
  33. // 用户信息
  34. $this->user = $this->getUser();
  35. // 分销商用户信息
  36. $this->dealer = DealerUserModel::detail($this->user['user_id']);
  37. // 分销商设置
  38. $this->setting = Setting::getAll();
  39. }
  40. /**
  41. * 分销商中心
  42. * @return array
  43. */
  44. public function center()
  45. {
  46. return $this->renderSuccess([
  47. // 当前是否为分销商
  48. 'is_dealer' => $this->isDealerUser(),
  49. // 当前用户信息
  50. 'user' => $this->user,
  51. // 分销商用户信息
  52. 'dealer' => $this->dealer,
  53. // 背景图
  54. 'background' => $this->setting['background']['values']['index'],
  55. // 页面文字
  56. 'words' => $this->setting['words']['values'],
  57. ]);
  58. }
  59. /**
  60. * 分销商申请状态
  61. * @param null $referee_id
  62. * @return array
  63. * @throws \think\exception\DbException
  64. */
  65. public function apply($referee_id = null)
  66. {
  67. // 推荐人昵称
  68. $referee_name = '平台';
  69. if ($referee_id > 0 && ($referee = DealerUserModel::detail($referee_id))) {
  70. $referee_name = $referee['user']['nickName'];
  71. }
  72. return $this->renderSuccess([
  73. // 当前是否为分销商
  74. 'is_dealer' => $this->isDealerUser(),
  75. // 当前是否在申请中
  76. 'is_applying' => DealerApplyModel::isApplying($this->user['user_id']),
  77. // 推荐人昵称
  78. 'referee_name' => $referee_name,
  79. // 背景图
  80. 'background' => $this->setting['background']['values']['apply'],
  81. // 页面文字
  82. 'words' => $this->setting['words']['values'],
  83. // 申请协议
  84. 'license' => $this->setting['license']['values']['license'],
  85. ]);
  86. }
  87. /**
  88. * 分销商提现信息
  89. * @return array
  90. */
  91. public function withdraw()
  92. {
  93. return $this->renderSuccess([
  94. // 分销商用户信息
  95. 'dealer' => $this->dealer,
  96. // 结算设置
  97. 'settlement' => $this->setting['settlement']['values'],
  98. // 背景图
  99. 'background' => $this->setting['background']['values']['withdraw_apply'],
  100. // 页面文字
  101. 'words' => $this->setting['words']['values'],
  102. ]);
  103. }
  104. /**
  105. * 当前用户是否为分销商
  106. * @return bool
  107. */
  108. private function isDealerUser()
  109. {
  110. return !!$this->dealer && !$this->dealer['is_delete'];
  111. }
  112. }