DefaultController.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace addons\BossAchievement\api\modules\v1\controllers;
  3. use addons\BossAchievement\common\models\BossAchievementLevel;
  4. use addons\BossAchievement\common\models\BossAchievementMonth;
  5. use addons\BossAchievement\common\models\BossAchievementUser;
  6. use common\enums\StatusEnum;
  7. use Yii;
  8. use api\controllers\OnAuthController;
  9. /**
  10. * 默认控制器
  11. *
  12. * Class DefaultController
  13. * @package addons\BossAchievement\api\modules\v1\controllers
  14. */
  15. class DefaultController extends OnAuthController
  16. {
  17. public $modelClass = '';
  18. /**
  19. * 不用进行登录验证的方法
  20. *
  21. * 例如: ['index', 'update', 'create', 'view', 'delete']
  22. * 默认全部需要验证
  23. *
  24. * @var array
  25. */
  26. protected $authOptional = [];
  27. /**
  28. * 首页
  29. *
  30. * @return string
  31. */
  32. public function actionIndex()
  33. {
  34. if (Yii::$app->request->isGet) {
  35. $get = Yii::$app->request->get();
  36. // 检查提交的参数
  37. $res = Yii::$app->services->validate->validate($get,[
  38. [['page','limit'], 'integer']
  39. ]);
  40. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  41. $data['user_id'] = $this->user_id;
  42. $data['nickname'] = $this->user->nickname ?? '';
  43. $data['avatar_url'] = $this->user->avatar_url ?? '';
  44. // 获取股东信息
  45. $boss = BossAchievementUser::getOne([['mall_id' => $this->mall_id,'user_id' => $this->user_id]]);
  46. // 获取等级内容
  47. $level = BossAchievementLevel::getOne([['mall_id' => $this->mall_id, 'level' => $boss->level, 'status' => StatusEnum::ENABLED]], true, ['setting' => function($query){
  48. $query->where(['status' => StatusEnum::ENABLED]);
  49. }]);
  50. // 获取收益列表
  51. $where = [];
  52. $where[] = ['=', 'mall_id', $this->mall_id];
  53. $where[] = ['=', 'user_id', $this->user_id];
  54. $where[] = ['=', 'status', StatusEnum::ENABLED];
  55. $order = 'month desc';
  56. $params = array('where' => $where, 'order' => $order,'limit' => $get['limit']);
  57. $list = BossAchievementMonth::listPage($params, false, true);
  58. $data['is_boss'] = $boss ? 1 : 0;// 是否是股东,0=否,1=是
  59. $data['commission'] = $boss['commission'] ?: 0;// 累计分红
  60. $data['achievement'] = $list['list'][0]['achievement'] ?: 0;// 本月业绩
  61. $data['standard_money'] = $level['setting']['standard_money'];// 考核要求
  62. $data['level_name'] = $level['name'] ?: '';// 等级名称
  63. $data['list'] = $list;
  64. $this->success('获取成功', $data);
  65. }
  66. }
  67. }