| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
- namespace addons\DoubleCopy\api\modules\v1\controllers;
- use addons\DoubleCopy\common\enums\DoubleCopyEnum;
- use addons\DoubleCopy\common\models\DoubleCopyPoolLevel;
- use addons\DoubleCopy\common\models\DoubleCopyPoolLog;
- use addons\DoubleCopy\common\models\DoubleCopyPoolUser;
- use common\enums\StatusEnum;
- use Yii;
- use api\controllers\OnAuthController;
- /**
- * 默认控制器
- *
- * Class PoolController
- * @package addons\DoubleCopy\api\modules\v1\controllers
- */
- class PoolController extends OnAuthController
- {
- public $modelClass = '';
- /**
- * 不用进行登录验证的方法
- *
- * 例如: ['index', 'update', 'create', 'view', 'delete']
- * 默认全部需要验证
- *
- * @var array
- */
- protected $authOptional = ['index'];
- /**
- * 链动用户信息
- * @Author: lun
- * @DateTime: 2022/5/16 0016 16:48
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return mixed|void
- */
- public function actionInfo()
- {
- if (Yii::$app->request->isPost) {
- $data['user_id'] = $this->user_id;
- $data['nickname'] = $this->user->nickname ?? '';
- $data['avatar_url'] = $this->user->avatar_url ?? '';
- // 查询用户信息
- $select = 'user_id,level,pool_income,pool_income_score';
- $user = DoubleCopyPoolUser::find()->select($select)->where(['user_id' => $this->user_id, 'status' => StatusEnum::ENABLED])->asArray()->one();
- if (empty($user)) return $this->error('您并无参与该应用活动');
- // 头部数据
- $data['level'] = $user['level'];// 用户等级
- $data['pool_income'] = $user['pool_income'];// 已结算佣金
- $data['pool_income_msg'] = '元';
- //基础设置:当前奖励类型
- $config = Yii::$app->services->setting->addons->get($this->mall_id, DoubleCopyEnum::ADDONS_NAME, 'basic');
- $reward_currency = $config['reward_currency'] ?? 'commission';
- if($reward_currency == 'score'){
- $score_name = \Yii::$app->services->setting->mall->get($this->mall_id, 'score.score_name') ?? '积分';
- $data['pool_income'] = $user['pool_income_score'];// 已结算积分
- $data['pool_income_msg'] = $score_name;
- }
- // 获取等级名称
- $level_arr = DoubleCopyPoolLevel::find()->where(['mall_id' => $this->mall_id,'status' => StatusEnum::ENABLED])->indexBy('level')->asArray()->all();
- $data['level_name'] = $level_arr[$user['level']]['name'] ?: '默认等级';// 等级名称
- return $this->success('获取成功', $data);
- }
- }
- /**
- * 获取分红列表
- * @Author: lun
- * @DateTime: 2022/5/16 0016 17:09
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return mixed|void
- */
- public function actionBonusList()
- {
- if (Yii::$app->request->isGet) {
- $post = Yii::$app->request->get();
- // 检查提交的参数
- $res = Yii::$app->services->validate->validate($post,[
- [['page','limit'], 'integer'],
- ]);
- if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- // 查询推荐内容
- $where[] = ['=', 'mall_id', $this->mall_id];
- $where[] = ['=', 'user_id', $this->user_id];
- $where[] = ['=', 'status', StatusEnum::ENABLED];
- $order = 'id desc,created_at desc';
- $select = 'user_id,bonus_money,created_at,reward_currency';
- $params = array('where' => $where, 'order' => $order, 'select' => $select);
- $list = DoubleCopyPoolLog::listPage($params);
- $score_name = \Yii::$app->services->setting->mall->get($this->mall_id, 'score.score_name') ?? '积分';
- $money_msg = [
- 'commission' => '元',
- 'score' => $score_name
- ];
- foreach($list['list'] as $key => $value){
- $value['money_msg'] = $money_msg[$value['reward_currency']] ?? '元';
- $list['list'][$key] = $value;
- }
- return $this->success('获取成功', $list);
- }
- }
- }
|