Dealer.php 3.1 KB

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