UserCenterController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace addons\Community\api\modules\v1\controllers;
  3. use addons\Community\common\enums\CommunityEnum;
  4. use addons\Community\common\service\CommissionService;
  5. use addons\Community\common\service\HeadService;
  6. use api\controllers\OnAuthController;
  7. use common\enums\StatusEnum;
  8. use common\models\common\MallSetting;
  9. use common\models\user\UserLevel;
  10. use Yii;
  11. class UserCenterController extends OnAuthController
  12. {
  13. public $modelClass = '';
  14. /**
  15. * 不用进行登录验证的方法
  16. *
  17. * 例如: ['index', 'update', 'create', 'view', 'delete']
  18. * 默认全部需要验证
  19. *
  20. * @var array
  21. */
  22. protected $authOptional = [];
  23. public function actionIndex()
  24. {
  25. $user_level_arr = UserLevel::getUserLevelArr($this->mall_id);
  26. $data['user_id'] = empty($this->user_id) ? 0 : $this->user_id;
  27. $data['nickname'] = empty($this->user->nickname) ? '' : $this->user->nickname;
  28. $data['username'] = empty($this->user->username) ? '' : $this->user->username;
  29. $data['avatar_url'] = empty($this->user->avatar_url) ? '' : $this->user->avatar_url;
  30. $data['mobile'] = empty($this->user->mobile) ? '' : $this->user->mobile;
  31. $data['level_name'] = empty($user_level_arr[$this->user->level]) ? MallSetting::getDefaultLevelName($this->mall_id) : $user_level_arr[$this->user->level];
  32. $data['level'] = empty($this->user->level) ? '' : $this->user->level;
  33. $data['tag'] = [];
  34. $data['commission'] = [];
  35. (new CommissionService())->statistics($this->mall_id, $this->user_id, $data['commission']);
  36. if (!empty($data['commission'])) {
  37. $data['commission']['commission'] = bcdiv($data['commission']['commission'], 100, 2);
  38. $data['commission']['today_commission'] = bcdiv($data['commission']['today_commission'], 100, 2);
  39. }
  40. $config = Yii::$app->services->setting->addons->get($this->mall_id, CommunityEnum::ADDONS_NAME, 'basic');
  41. $data['is_enable_write_off'] = $config['is_enable_write_off'] ?? StatusEnum::DISABLED; // 默认是关闭的
  42. $data['is_head'] = (new HeadService())->existByUserId($this->mall_id, $this->user_id); // 是否为团长
  43. return $this->success('获取成功', $data);
  44. }
  45. }