| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace addons\BossAchievement\api\modules\v1\controllers;
- use addons\BossAchievement\common\models\BossAchievementLevel;
- use addons\BossAchievement\common\models\BossAchievementMonth;
- use addons\BossAchievement\common\models\BossAchievementUser;
- use common\enums\StatusEnum;
- use Yii;
- use api\controllers\OnAuthController;
- /**
- * 默认控制器
- *
- * Class DefaultController
- * @package addons\BossAchievement\api\modules\v1\controllers
- */
- class DefaultController extends OnAuthController
- {
- public $modelClass = '';
- /**
- * 不用进行登录验证的方法
- *
- * 例如: ['index', 'update', 'create', 'view', 'delete']
- * 默认全部需要验证
- *
- * @var array
- */
- protected $authOptional = [];
- /**
- * 首页
- *
- * @return string
- */
- public function actionIndex()
- {
- if (Yii::$app->request->isGet) {
- $get = Yii::$app->request->get();
- // 检查提交的参数
- $res = Yii::$app->services->validate->validate($get,[
- [['page','limit'], 'integer']
- ]);
- if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $data['user_id'] = $this->user_id;
- $data['nickname'] = $this->user->nickname ?? '';
- $data['avatar_url'] = $this->user->avatar_url ?? '';
- // 获取股东信息
- $boss = BossAchievementUser::getOne([['mall_id' => $this->mall_id,'user_id' => $this->user_id]]);
- // 获取等级内容
- $level = BossAchievementLevel::getOne([['mall_id' => $this->mall_id, 'level' => $boss->level, 'status' => StatusEnum::ENABLED]], true, ['setting' => function($query){
- $query->where(['status' => StatusEnum::ENABLED]);
- }]);
- // 获取收益列表
- $where = [];
- $where[] = ['=', 'mall_id', $this->mall_id];
- $where[] = ['=', 'user_id', $this->user_id];
- $where[] = ['=', 'status', StatusEnum::ENABLED];
- $order = 'month desc';
- $params = array('where' => $where, 'order' => $order,'limit' => $get['limit']);
- $list = BossAchievementMonth::listPage($params, false, true);
- $data['is_boss'] = $boss ? 1 : 0;// 是否是股东,0=否,1=是
- $data['commission'] = $boss['commission'] ?: 0;// 累计分红
- $data['achievement'] = $list['list'][0]['achievement'] ?: 0;// 本月业绩
- $data['standard_money'] = $level['setting']['standard_money'];// 考核要求
- $data['level_name'] = $level['name'] ?: '';// 等级名称
- $data['list'] = $list;
- $this->success('获取成功', $data);
- }
- }
- }
|