sprintf('connection_name_%s', $site->id), 'host' => $server->server_ip, 'port' => '3306', 'database' => $site->database, 'username' => $server->mysql_user_name, 'password' => $server->mysql_passwd, ]; config_connection($config); $builder = DB::connection($config['connection_name'])->table('user_msg')->where($condition); $nowUser = auth()->user(); if ($nowUser->role_id == Role::TYPE_TYPE_CUSTOMER_STAFF) { $inquireIds = DB::table('user_has_inquire')->where(['user_id' => $nowUser->id])->get()->pluck('inquire_id')->toArray(); $builder->whereIn('id', $inquireIds); } //是否真实询盘筛选 if (isset($isDelete)) { $builder->where('is_delete', $isDelete); } $records = $builder->orderBy('create_time', 'desc') ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE); $items = $records->items(); array_walk($items, function ($item) { $item->created_at = date('Y-m-d H:i:s', $item->create_time); $item->is_read = $item->is_read ? '已读' : '未读'; preg_match('/(?:\()(.*)(?:\))/i', $item->content, $match); preg_match("/(?:\()(.*)(?:\))/i", $match[0] ?? '', $result); preg_match('/\d{10,}/', $item->content, $match2); $item->location = $result[1] ?? ''; $item->phone = $match2[0] ?? ''; $item->mail_date = '详情'; if (!in_array($item->mail_time, [-1, 0])) { $item->mail_date = date('Y-m-d H:i:s', $item->mail_time); } }); $condition['is_delete'] = 0; $realInquire = DB::connection($config['connection_name'])->table('user_msg')->where($condition)->count(); return [$records, $realInquire]; } public function PageRecordsExport(Request $request, $server, $site, $condition) { //流程程序开发流程 部署 $config = [ 'connection_name' => sprintf('connection_name_%s', $site->id), 'host' => $server->server_ip, 'port' => '3306', 'database' => $site->database, 'username' => $server->mysql_user_name, 'password' => $server->mysql_passwd, ]; config_connection($config); $builder = DB::connection($config['connection_name'])->table('user_msg')->select([ 'sender_name', 'sender_email', 'create_time', 'title', 'content', 'is_delete', 'is_read' ])->where($condition); if (!$request->input('notCustomer')) { $nowUser = auth()->user(); if ($nowUser->role_id == Role::TYPE_TYPE_CUSTOMER_STAFF) { $inquireIds = DB::table('user_has_inquire')->where(['user_id' => $nowUser->id])->get()->pluck('inquire_id')->toArray(); $builder->whereIn('id', $inquireIds); } } $records = $builder->get()->toArray(); $resultsRecord = []; foreach ($records as $record) { preg_match('/(?:\()(.*)(?:\))/i', $record->content, $match); preg_match("/(?:\()(.*)(?:\))/i", $match[0] ?? '', $result); preg_match('/\d{10,}/', $record->content, $match2); // $content = preg_replace('/\r|\n/', '', $record->content); // preg_match('/留言\:\<\/td\>.*?\<\/div>/i', $content, $m1); // $m1[0] = str_replace('留言:', '', $m1[0]); $memo = explode('留言:', strip_tags($record->content)); if (!empty($memo[1])) { $memo1 = explode('URL:', $memo[1]); if (!empty($memo1[1])) { $url = explode('温馨提示:', $memo1[1]); } } $resultsRecord[] = [ 'sender_name' => $record->sender_name, 'sender_email' => $record->sender_email, 'phone' => $match2[0] ?? '', 'location' => $result[1] ?? '', 'create_time' => date('Y-m-d', $record->create_time), 'title' => $record->title, 'content' => strip_tags($record->content), 'is_delete' => $record->is_read ? '是' : '否', 'is_read' => $record->is_read ? '已读' : '未读', 'memo' => $memo1[0] ?? '', 'url' => $url[0] ?? '', ]; } return $resultsRecord; } public function PageRecordsAllExport($server, $site) { $config = [ 'connection_name' => sprintf('connection_name_%s', $site->id), 'host' => $server->server_ip, 'port' => '3306', 'database' => $site->database, 'username' => $server->mysql_user_name, 'password' => $server->mysql_passwd, ]; config_connection($config); $builder = DB::connection($config['connection_name']) ->table('user_log') ->whereBetween('create_time', [strtotime(date('Y-m-d', strtotime("first day of last month"))), strtotime("now")]) ->where('user_id', 1)->select('id', 'user_id', 'notice', 'url', 'request', 'cookie', 'client_ip', 'create_time')->get(); $resultsRecord = []; foreach ($builder as $record) { $resultsRecord[] = [ 'id' => $record->id, 'user_id' => $record->user_id, 'notice' => $record->notice, 'url' => $record->url, 'request' => $record->request, 'cookie' => $record->cookie, 'client_ip' => long2ip($record->client_ip), 'create_time' => date('Y-m-d', $record->create_time), ]; } return $resultsRecord; } public function pageRecordsExportBak(Request $request, $server, $site, $condition) { //流程程序开发流程 部署 $config = [ 'connection_name' => sprintf('connection_name_%s', $site->id), 'host' => $server->server_ip, 'port' => '3306', 'database' => $site->database, 'username' => $server->mysql_user_name, 'password' => $server->mysql_passwd, ]; config_connection($config); $builder = DB::connection($config['connection_name'])->table('user_msg')->select([ 'sender_name', 'sender_email', 'create_time', 'title', 'content', 'is_delete', 'is_read' ])->where($condition); $records = $builder->get()->toArray(); $resultsRecord = []; foreach ($records as $record) { preg_match('/(?:\()(.*)(?:\))/i', $record->content, $match); preg_match("/(?:\()(.*)(?:\))/i", $match[0] ?? '', $result); preg_match('/\d{10,}/', $record->content, $match2); // $content = preg_replace('/\r|\n/', '', $record->content); // preg_match('/留言\:\<\/td\>.*?\<\/div>/i', $content, $m1); // $m1[0] = str_replace('留言:', '', $m1[0]); $resultsRecord[] = [ 'sender_name' => $record->sender_name, 'sender_email' => $record->sender_email, 'phone' => $match2[0] ?? '', 'location' => $result[1] ?? '', 'create_time' => date('Y-m-d', $record->create_time), 'title' => $record->title, 'content' => str_replace('留言:', '', strip_tags($record->content)), 'is_delete' => $record->is_read ? '是' : '否', 'is_read' => $record->is_read ? '已读' : '未读', ]; } return $resultsRecord; } }