request->isAjax) { if (Yii::$app->request->isGet) { $get = Yii::$app->request->get(); $where = $list = []; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'mall_id', $this->mall_id]; $with = ['user']; $order = 'created_at desc'; $params = array('where' => $where, 'order' => $order, 'with' => $with, 'limit' => $get['limit'] ?? 15); $list = BossPoolPrizeOrderLog::listPage($params, false, true); if ($list === false) return $this->error(BossPoolPrizeOrderLog::getStaticError()); $order_detail = OrderDetail::lists([ 'where' => [ ['order_id' => array_column($list['list'], 'order_id')] ], 'select' => 'order_id, goods_name', 'index' => 'order_id' ]); foreach ($list['list'] as &$v) { $v['goods_name'] = isset($order_detail[$v['order_id']]) ? $order_detail[$v['order_id']]['goods_name'] : '--'; } unset($v); return $this->success('获取成功', compact('list')); } } return $this->render($this->action->id); } public function actionUser() { if (Yii::$app->request->isAjax) { $get = Yii::$app->request->get(); // 检查提交的参数 $res = Yii::$app->services->validate->validate($get, [ [['id', 'level', 'user_id'], 'integer'], [['id', 'keyword'], 'safe'], ]); if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); // 获取股东等级 $level_list = AddonsBossLevel::getBossLevel([['mall_id' => $this->mall_id]], [], true, 'level,name'); $where = $list = []; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['>', 'bonus_pool_commission', 0]; !empty($get['user_id']) && $where[] = ['=', 'user_id', $get['user_id']]; // 根据搜索手机号查询用户id if (!empty($get['keyword'])) { $user_ids = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'mobile', $get['keyword'] . '%', false])->asArray()->column(); if (empty($user_ids)) $this->success('获取成功', compact('list', 'level_list', 'upgrade_type', 'parents')); $where[] = ['in', 'user_id', $user_ids]; } $with = ['user']; $order = 'created_at desc'; $params = array('where' => $where, 'order' => $order, 'with' => $with, 'limit' => $get['limit']); $list = AddonsBoss::listPage($params, false, true); if ($list === false) return $this->error(AddonsBoss::getStaticError()); return $this->success('获取成功', compact('list', 'level_list')); } return $this->render($this->action->id); } public function actionCommissionLog() { if (Yii::$app->request->isAjax) { $get = Yii::$app->request->get(); $where = $list = []; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['=', 'boss_id', $get['boss_id']]; $with = []; $order = 'created_at desc'; $params = array('where' => $where, 'order' => $order, 'with' => $with, 'limit' => $get['limit'] ?? 15); $list = BossPoolPrizeCommissionLog::listPage($params, false, true); if ($list === false) return $this->error(BossPoolPrizeCommissionLog::getStaticError()); $user = User::getOne([['id' => $get['user_id']]], true, [], false, 'id, nickname, avatar_url, mobile'); foreach ($list['list'] as &$v) { $v['created_at'] = date('Y-m-d H:i:s', $v['created_at']); $v['start_at'] = date('Y-m-d', strtotime($v['start_at'])); $v['end_at'] = date('Y-m-d', strtotime($v['end_at'])); $v['billing_cycle'] = $v['billing_cycle'] == 1 ? '天' : ($v['billing_cycle'] == 2 ? '周' : '月'); } return $this->success('获取成功', compact('list', 'user')); } } public function actionSettlementList() { if (Yii::$app->request->isAjax) { if (Yii::$app->request->isGet) { $get = Yii::$app->request->get(); $where = $list = []; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'mall_id', $this->mall_id]; if (isset($get['start_at']) && !empty($get['start_at'])) { $where[] = ['>=', 'created_at', strtotime($get['start_at'])]; } if (isset($get['end_at']) && !empty($get['end_at'])) { $where[] = ['<=', 'created_at', strtotime($get['end_at'])]; } $order = 'created_at desc'; $params = array('where' => $where, 'order' => $order, 'limit' => $get['limit'] ?? 15); $list = BossPoolPrizeJob::listPage($params, false, true); if ($list === false) return $this->error(BossPoolPrizeJob::getStaticError()); foreach ($list['list'] as &$val) { $date_limit = explode('-', $val['date_limit']); $val['date_limit'] = date('Y-m-d', strtotime($date_limit[0])) . '至' . date('Y-m-d', strtotime($date_limit[1])); } unset($val); return $this->success('获取成功', compact('list')); } } return $this->render($this->action->id); } public function actionSettlementDetail() { if (Yii::$app->request->isAjax) { $get = Yii::$app->request->get(); $where = $list = []; $where[] = ['=', 'status', StatusEnum::ENABLED]; $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['=', 'job_id', $get['job_id']]; if (isset($get['user_id']) && !empty($get['user_id'])) { $where[] = ['user_id' => $get['user_id']]; } if (isset($get['keyword']) && !empty($get['keyword'])) { $user_list = User::lists([ 'where' => [ ['mall_id' => $this->mall_id], ['like', 'nickname', $get['keyword']] ], 'select' => 'id' ]); $where[] = ['user_id' => array_column($user_list, 'id') ?? []]; } $with = [ 'user' => function ($query) { return $query->select('id, nickname, avatar_url, mobile'); } ]; $order = 'id desc'; $params = array('where' => $where, 'order' => $order, 'with' => $with, 'limit' => $get['limit'] ?? 15); $list = BossPoolPrizeCommissionLog::listPage($params, false, true); if ($list === false) return $this->error(BossPoolPrizeCommissionLog::getStaticError()); return $this->success('获取成功', compact('list')); } return $this->render($this->action->id); } public function actionGetTopData() { if (Yii::$app->request->isAjax) { if (Yii::$app->request->isGet) { $prize_pool_amount = BossPoolPrizeOrderLog::find() ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED, 'settlement_status' => StatusEnum::DISABLED]) ->sum('amount'); $prize_pool_amount = $prize_pool_amount ? $prize_pool_amount : 0; $data = [ 'prize_pool_amount' => $prize_pool_amount, ]; return $this->success('获取成功', $data); } } } }