where('rid', 6)->select()->toArray();
$posts = Db::table('recruit_post')->column('code,name', 'id');
$recruits = Db::table('recruit')->column('name', 'id');
$families_data = Db::table('recruit_family')->select()->toArray();
$families = [];
foreach ($families_data as $v) {
if (empty($families[$v['eid']])) {
$families[$v['eid']] = '';
}
if (!empty($v['appellation'])) {
$families[$v['eid']] .= $v['appellation'] . '-' . $v['realname'] . '-' . date('Y-m-d', $v['birthday']) . '-' . $v['political_attitudes'] . '-' . $v['work'] . ';';
}
}
foreach ($data as &$v) {
$v['post_code'] = $posts[$v['post_id']]['code'];
$v['post_name'] = $posts[$v['post_id']]['name'];
$v['recruits_name'] = $recruits[$v['rid']];
$v['family'] = empty($families[$v['id']]) ? '' : $families[$v['id']];
$v['birthday'] = empty($v['birthday']) ? '' : date('Y-m-d', $v['birthday']);
$v['status_text'] = $v['status'] == 1 ? '审核中或报名成功' : '暂存或审核失败';
$v['word_url'] = empty($v['word_url']) ? '' : 'http://www.jucai.gov.cn' . $v['word_url'];
$v['front_card'] = $this->_dealImage($v['front_card']);
$v['back_card'] = $this->_dealImage($v['back_card']);
$v['diploma_img'] = $this->_dealImage($v['diploma_img']);
$v['degree_img'] = $this->_dealImage($v['degree_img']);
$v['xuexin_img'] = $this->_dealImage($v['xuexin_img']);
$v['work_pro_img'] = $this->_dealImage($v['work_pro_img']);
$v['work_approve'] = $this->_dealImage($v['work_approve']);
unset($v);
}
$this->assign('data', $data);
return $this->fetch();
}
private function _dealImage($image)
{
$arr = explode(',', $image);
$res = [];
foreach ($arr as $v) {
if (strpos($v, 'blob:') === false) {
$res[] = $v;
}
}
if (empty($res)) {
return '';
} else {
return implode('
', $res);
}
}
public function t1()
{
$table = QueryList::get('http://rcyz.qxrc.com/index.php?g=portal&m=index&a=site_list')->find('table');
// 采集表的每行内容
$tableRows = $table->find('tr:gt(0)')->map(function ($row) {
$arr = [];
$arr['title'] = $row->find('td:eq(2) a')->text();
$arr['href'] = 'http://rcyz.qxrc.com' . $row->find('td:eq(2) a')->attr('href');
$arr['id'] = str_replace('http://rcyz.qxrc.com/index.php?g=activity&m=activity&a=site_portal&id=', '', $arr['href']);
return $arr;
});
$res = $tableRows->all();
foreach ($res as $v) {
Db::table('psite')->insert([
'id' => $v['id'],
'href' => $v['href'],
]);
}
return 'ok';
}
public function t2()
{
$site = Db::table('psite')->select();
foreach ($site as $v) {
$ql = QueryList::get($v['href']);
$rt['town'] = str_replace('所在乡镇:', '', $ql->find('.head h4')->text());
$rt['content'] = $ql->find('.intro-content')->text();
$rt['contact'] = $ql->find('.comment-ranking p:eq(0) strong')->text();
$rt['mobile'] = $ql->find('.comment-ranking p:eq(1) strong')->text();
$rt['email'] = $ql->find('.comment-ranking p:eq(2) strong')->text();
$rt['address'] = $ql->find('.comment-ranking p:eq(5) strong')->text();
Db::name('activity_site')->where('id', $v['id'])->update($rt);
}
}
public function t3()
{
set_time_limit(0);
$site = Db::table('psite')->select();
foreach ($site as $v) {
$this->_getActivity($v['href'], $v['id']);
}
}
private function _getActivity($url, $id, $page = 1)
{
$rt = QueryList::get($url . '&p=' . $page)->rules([
'href' => ['.item-image a', 'href'],
'image' => ['.item-image img', 'src'],
])->range('.row .span9 .span3')->query()->getData();
$flag = QueryList::get($url . '&p=' . $page)->find('.pagination li:last')->text();
$list = $rt->all();
if (!empty($list)) {
foreach ($list as $v) {
Db::table('pactivity')->insert([
'site_id' => $id,
'href' => 'http://rcyz.qxrc.com' . $v['href'],
'image' => $v['image'],
]);
}
}
if ($flag == '尾页') {
$this->_getActivity($url, $id, $page + 1);
}
}
public function t4()
{
set_time_limit(0);
$list = Db::table('pactivity')->select();
foreach ($list as $v) {
$ql = QueryList::get($v['href']);
$arr = [];
$arr['id'] = (int)str_replace('http://rcyz.qxrc.com/index.php?g=activity&m=activity&a=detail&id=', '', $v['href']);
$arr['title'] = $ql->find('.article-box h2')->text();
$arr['main_image'] = (string)$v['image'];
$arr['start_time'] = strtotime($ql->find('.tc-box:eq(3)>div:eq(1)>div:eq(0) strong')->text());
$end_time = strtotime($ql->find('.tc-box:eq(3)>div:eq(1)>div:eq(1) strong')->text());
$arr['end_time'] = $end_time > 0 ? $end_time : 0;
$arr['address'] = $ql->find('.tc-box:eq(4)>div:eq(1) strong')->text();
$arr['user_id'] = $v['site_id'];
$arr['content'] = $ql->find('#article_content')->html();
$info = $ql->find('.article-infobox span:eq(0)')->text();
$info = explode('|', $info);
$arr['create_time'] = strtotime(trim(str_replace('创建于:', '', $info[0])));
$arr['author'] = trim(str_replace('作者:', '', $info[1]));
$arr['status'] = 2;
Db::name('activity')->insert($arr);
}
return 'ok';
}
public function t5()
{
$ql = QueryList::get('http://rcyz.qxrc.com/index.php?g=portal&m=index&a=review_list&p=1');
$this->_getReviewList($ql);
$ql = QueryList::get('http://rcyz.qxrc.com/index.php?g=portal&m=index&a=review_list&p=2');
$this->_getReviewList($ql);
}
private function _getReviewList(QueryList $ql)
{
$rt = $ql->rules([
'href' => ['.item-image a', 'href'],
'image' => ['.item-image img', 'src'],
])->range('.tc-gridbox')->query()->getData();
$list = $rt->all();
foreach ($list as $v) {
Db::table('preview')->insert([
'href' => 'http://rcyz.qxrc.com' . $v['href'],
'image' => $v['image'],
]);
}
}
public function t6()
{
$list = Db::table('preview')->select();
foreach ($list as $v) {
$ql = QueryList::get($v['href']);
$arr = [];
$arr['title'] = $ql->find('.article-box>h2')->text();
$arr['content'] = $ql->find('#article_content')->html();
$arr['main_image'] = $v['image'];
$href = $ql->find('.row>.span3>div:eq(0)>div:eq(1)>div:eq(0) a')->attr('href');
$arr['activity_id'] = (int)str_replace('/index.php?g=activity&m=activity&a=detail&id=','',$href);
$arr['user_id'] = (int)Db::name('activity')->where('id',$arr['activity_id'])->value('user_id');
$arr['create_time'] = time();
Db::name('activity_review')->insert($arr);
}
}
}