| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace addons\BusinessActivity\api\modules\v1\controllers;
- use addons\BusinessActivity\common\enums\BusinessActivityEnum;
- use addons\BusinessActivity\common\service\ActivityService;
- use addons\BusinessActivity\common\service\CommissionService;
- use addons\BusinessActivity\common\service\OrderService;
- use addons\BusinessActivity\common\service\SignInService;
- use api\controllers\OnAuthController;
- use Yii;
- class UserCenterController extends OnAuthController
- {
- public $modelClass = '';
- /**
- * 不用进行登录验证的方法
- *
- * 例如: ['index', 'update', 'create', 'view', 'delete']
- * 默认全部需要验证
- *
- * @var array
- */
- protected $authOptional = [
- 'index'
- ];
- public function actionIndex()
- {
- if (empty($this->user_id)) return $this->success('请登录');
- $ret['user'] = [
- 'nickname' => $this->user['nickname'],
- 'avatar_url'=> $this->user['avatar_url'],
- 'id' => $this->user['id'],
- ];
- // 获取活动数据
- $activity_data = (new ActivityService())->getActivityCustomByUserId($this->mall_id, $this->user_id);
- // 数据统计
- $ret['total_commission'] = bcdiv((new CommissionService())->statisticsByUserId($this->mall_id, $this->user_id), 100, 2);
- // 所参与的活动
- $ret['total_signin'] = (new SignInService())->totalByUserId($this->mall_id, $this->user_id);
- $ret['total_order'] = 0;
- if (!empty($activity_data['activity'])) {
- $total_order = (new OrderService())->totalByActivity($this->mall_id, array_keys($activity_data['activity']));
- $ret = array_merge($ret, $total_order);
- }
- $ret = array_merge($ret, $activity_data);
- $ret['page_title'] = Yii::$app->services->setting->addons->get($this->mall_id, BusinessActivityEnum::ADDONS_NAME, 'basic.name') ?? '会议奖励';
- return $this->success('获取成功', $ret);
- }
- }
|