request->isAjax) { if (\Yii::$app->request->isGet) { $get = \Yii::$app->request->get(); $get['mall_id'] = $this->mall_id; $params = []; $user_id_arr = []; if (isset($get['level']) && !empty($get['level'])){ $params['where'][] = ['=', 'level', $get['level']]; }else{ $params['where'][] = ['>', 'level', 0]; } if (!empty($get['keyword'])) { $user_list = User::lists(['where' => [['mall_id' => $this->mall_id], [ 'or', ['like', 'nickname', $get['keyword']], ['like', 'mobile', $get['keyword']], ['id' => $get['keyword']] ]], 'select' => 'id']); $user_ids = array_column($user_list, 'id'); if (!empty($user_id_arr)) { $user_id_arr = array_intersect($user_id_arr, $user_ids); } else { $user_id_arr = $user_ids; } $params['where'][] = ['in', 'user_id', $user_id_arr]; } /** @var \addons\DouyinCps\common\models\DouyinCpsOrder $douyin_cps_class */ $douyin_cps_class = \addons\DouyinCps\common\models\DouyinCpsOrder::class; if ($get['order_no']) { if(strpos($get['order_no'],'DYC') === false){ $order_list = Order::lists([ 'where' => [ ['mall_id' => $get['mall_id']], ['like', 'order_no', $get['order_no']] ], 'select' => 'id' ]); }else{ $order_list = $douyin_cps_class::lists([ 'where' => [ ['mall_id' => $get['mall_id']], ['like', 'order_no', $get['order_no']] ], 'select' => 'id' ]); } $params['where'][] = ['order_id' => array_column($order_list, 'id') ?? []]; } if ($get['date_start']) $params['where'][] = ['>=', 'created_at', strtotime($get['date_start'])]; if ($get['date_end']) $params['where'][] = ['<=', 'created_at', strtotime($get['date_end'])]; $params['where'][] = ['=', 'mall_id', $this->mall_id]; $params['where'][] = ['in', 'status', [StatusEnum::ENABLED, StatusEnum::DISABLED]]; $params['limit'] = 10; $params['order'] = 'id DESC'; $pageData = AgentCommissionDetails::listPage($params, false); if ($pageData === false) return $this->error(AgentCommissionDetails::getStaticError()); if (!empty($pageData['list'])) { $user_id_arr = array_column($pageData['list'], 'user_id'); $user_list = $user_list = User::lists(['where' => [['id' => $user_id_arr]], 'select' => 'id,nickname,avatar_url,mobile,parent_id']); $user_arr = []; foreach ($user_list as $item) { $user_arr[$item['id']] = $item; } $order_arr = []; $douyin_cps_order_arr = []; foreach($pageData['list'] as $item) { if($item['order_source'] == 'order'){ $order_arr[] = $item['order_id']; }elseif ($item['order_source'] == $douyin_cps_class::tableName()){ $douyin_cps_order_arr[] = $item['order_id']; } } $order_list = []; $order_details_list = []; if(!empty($order_arr)){ $order_list = Order::lists([ 'where' => [ ['mall_id' => $get['mall_id']], ['id' => $order_arr] ], 'select' => 'id,order_status,order_no', 'index' => 'id' ]); $order_details_list = OrderDetail::lists([ 'where' => [ ['mall_id' => $get['mall_id']], ['order_id' => $order_arr], ], 'select' => 'order_id,goods_name,pic_url', 'index' => 'order_id' ]); } $douyin_cps_order_list = []; if(!empty($douyin_cps_order_arr)){ $douyin_cps_order_list = $douyin_cps_class::lists([ 'where' => [ ['mall_id' => $get['mall_id']], ['id' => $douyin_cps_order_arr] ], 'select' => 'id,order_no,goods_name,cover_pic AS pic_url', 'index' => 'id' ]); } $order_status_map = OrderStatusEnum::getMap(); foreach ($pageData['list'] as &$v) { $v['nickname'] = $v['avatar_url'] = $v['mobile'] = ''; if (isset($user_arr[$v['user_id']])) { $v['mobile'] = $user_arr[$v['user_id']]['mobile']; $v['nickname'] = $user_arr[$v['user_id']]['nickname']; $v['avatar_url'] = $user_arr[$v['user_id']]['avatar_url']; } $v['pic_url'] = $v['goods_name'] = ''; $v['order_status_text'] = '--'; if($v['order_source'] == 'order'){ if (array_key_exists($v['order_id'], $order_details_list)) { $v['pic_url'] = $order_details_list[$v['order_id']]['pic_url']; $v['goods_name'] = $order_details_list[$v['order_id']]['goods_name']; $v['order_no'] = $order_list[$v['order_id']]['order_no'] ?? ''; $v['order_status_text'] = $order_status_map[$order_list[$v['order_id']]['order_status']] ?? ''; } }elseif ($v['order_source'] == $douyin_cps_class::tableName()){ if (array_key_exists($v['order_id'], $douyin_cps_order_list)) { $v['pic_url'] = $douyin_cps_order_list[$v['order_id']]['pic_url']; $v['goods_name'] = $douyin_cps_order_list[$v['order_id']]['goods_name']; $v['order_no'] = $douyin_cps_order_list[$v['order_id']]['order_no'] ?? ''; } } } unset($v); } $args = []; $args['where'] = [['mall_id' => $this->mall_id], ['<>', 'status', StatusEnum::DELETE]]; $args['select'] = 'id,level,name'; $args['order'] = 'level asc'; $level_list = AgentLevel::lists($args, true); if (empty($level_list)) $level_list = [['id' => 0, 'level' => 0, 'name' => '默认等级']]; $pageData['agentLevelList'] = $level_list; $pageData['export_list'] = AgentCommissionDetails::exportFieldsList(); return $this->success('操作成功', $pageData); } } if (\Yii::$app->request->post('flag') == 'EXPORT') { $post = \Yii::$app->request->post(); $post['mall_id'] = $this->mall_id; $filename = '经销商列表-' . date('YmdHis') . '_' . rand(10000, 99999); $res = CsvExportHelper::exportDownLoadCenter($this->mall_id, $filename, DownloadEnum::TYPE_AGENT, AgentCommissionDetails::class, 'exportHandle', $post); if ($res === false) return $this->error('加入导出任务失败' . CsvExportHelper::getStaticError()); return $this->success('添加导出任务成功,任务完成后请在下载中心进行下载!'); } return $this->render($this->action->id, []); } }