request->isAjax) { if (\Yii::$app->request->isGet) { $params = \Yii::$app->request->get(); $where = []; $where[]=['mall_id'=>$this->mall_id]; $where[]=['status'=>StatusEnum::ENABLED]; if(!empty($params['order_no'])) $where[] = ['order_no'=>trim($params['order_no'])]; if(!empty($params['id'])) $where[] = ['id'=>trim($params['id'])]; if(!empty($params['group_status'])) $where[] = ['group_status'=>trim($params['group_status'])]; if(!empty($params['group_status'])) $where[] = ['group_status'=>trim($params['group_status'])]; if(!empty($params['attend_type'])) $where[] = ['attend_type'=>trim($params['attend_type'])]; if(!empty($params['user_id'])) $where[] = ['user_id'=>trim($params['user_id'])]; if(!empty($params['nickname'])){ $user_list = User::lists(['where'=>[['like','nickname',trim($params['nickname']).'%',false],['mall_id'=>$this->mall_id],],'select'=>'id']); $user_id_arr = array_column($user_list,'id'); $where[] = ['user_id'=>$user_id_arr]; } if(!empty($params['date_start'])) $where[] = ['>=','pay_at',strtotime($params['date_start'])]; if(!empty($params['date_end'])) $where[] = ['<=','pay_at',strtotime($params['date_end'])]; if(!empty($params['win_date_start'])) $where[] = ['>=','win_time',strtotime($params['win_date_start'])]; if(!empty($params['win_date_end'])) $where[] = ['<=','win_time',strtotime($params['win_date_end'])]; if (!empty($params['goods_name'])) { $goods_list = Goods::lists(['where'=>[['like', 'goods_name', $params['goods_name']]],'index'=>'id','select'=>'id,goods_name']); $good_ids = array_column($goods_list, 'id'); $where[] = ['goods_id' => $good_ids]; } $params['where'] = $where; $params['order'] = 'id desc'; $list = LuckyGroupOrder::listPage($params); if(!empty($list['list'])){ $user_id_arr = array_column($list['list'],'user_id'); $activity_id_arr = array_column($list['list'],'activity_id'); $order_ids = array_column($list['list'], 'id'); $user_list = User::lists(['where'=>[['id'=>$user_id_arr],['status'=>StatusEnum::ENABLED]],'index'=>'id','select'=>'id,nickname,username,avatar_url']); $activity_list = LuckyGroupActivity::lists(['where'=>[['id'=>$activity_id_arr]],'index'=>'id','select'=>'id,title']); if (empty($goods_list)) { $goods_id_arr = array_column($list['list'],'goods_id'); $goods_list = Goods::lists(['where'=>[['id'=>$goods_id_arr]],'index'=>'id','select'=>'id,goods_name']); } $orders = Order::find() ->select('id,marketing_id,marketing_type') ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED, 'marketing_type' => LuckyGroupEnum::ADDONS_NAME, 'marketing_id' => $order_ids]) ->asArray() ->indexBy('marketing_id') ->all(); foreach ($list['list'] as &$item){ $item['nickname'] = $item['username'] = $item['avatar_url'] =$item['activity_title'] =$item['goods_name'] = ''; if(isset($user_list[$item['user_id']])){ $item['nickname'] = $user_list[$item['user_id']]['nickname']; $item['username'] = $user_list[$item['user_id']]['username']; $item['avatar_url'] = $user_list[$item['user_id']]['avatar_url']; } if(isset($activity_list[$item['activity_id']]))$item['activity_title'] = $activity_list[$item['activity_id']]['title']; if(isset($goods_list[$item['goods_id']]))$item['goods_name'] = $goods_list[$item['goods_id']]['goods_name']; $order = $orders[$item['id']] ?? []; $item['mall_order_id'] = $order['id'] ?? 0; } } $list['group_status_map'] = DefaultModel::getGroupText($this->mall_id); $list['attend_type_map'] = DefaultModel::getAttendTypeArr($this->mall_id); return $this->success('success', $list); } } else { return $this->render('index'); } } }