table('ey_citysite') ->where(['level'=>1,'is_open'=>1,'status'=>1]) ->select(); //dump($area); $area[] = [ 'id' => 10000, ]; foreach ($area as $index => $item) { //查找最后创建时间create_time $add_time = Db::name('cms_product') ->where(['catid'=>2,'diqu'=>$item['id']]) //产品大类 ->order('add_time desc') ->value('add_time'); //dump($create_time); if(empty($add_time)){ $add_time = 0; } //不考虑分批次 $list = Db::connect('db1') ->table('ey_arctype') ->where(['topid'=>38,'area_id'=>$item['id'],'is_del'=>0]) ->where('add_time','>',$add_time) ->select(); //dump($list); foreach ($list as $key=>$row){ $one = Db::name('cms_product')->where([ 'catid' => 2, 'aid' => $row['id'], 'diqu' => $item['id'], 'pid' => 0, ])->find(); if(empty($one)){ //插入数据库 $insert_data = [ 'catid' => 2, 'title' => $row['typename'], 'add_time' => $row['add_time'], 'create_time' => time(), 'update_time' => time(), 'status' => 1, 'diqu' => $item['id'], 'pid' => 0, 'aid' => $row['id'], 'site_id' => 1, 'link' => '' ]; $run = Db::name('cms_product')->insert($insert_data); echo '插入'.$run.'条,产品id: '.$row['id'].'
'; }else{ echo '插入0条,产品id: '.$row['id'].'已存在
'; } } } } /* * 同步产品接口 - 小类 * http://console.zx2049.com/api/cms/getProductSmall */ public function getProductSmall() { //查找最后创建时间create_time $add_time = Db::name('cms_product') ->where(['catid'=>3]) //产品小类 ->order('add_time desc') ->value('add_time'); //dump($create_time); if(empty($add_time)){ $add_time = 0; } //不考虑分批次 $list = Db::connect('db1') ->table('ey_arctype_cat') ->where(['is_del'=>0]) ->where('add_time','>',$add_time) ->select(); //dump($list); foreach ($list as $key=>$row){ //查找上级所属区域id $area_id = Db::connect('db1')->table('ey_arctype')->where(['id'=>$row['parent_id']])->value('area_id'); if(empty($area_id)){ $area_id = 0; } $one = Db::name('cms_product')->where([ 'catid' => 3, 'aid' => $row['id'], 'diqu' => $area_id, 'pid' => 0, ])->find(); if(empty($one)){ //插入数据库 $insert_data = [ 'catid' => 3, 'title' => $row['typename'], 'add_time' => $row['add_time'], 'create_time' => time(), 'update_time' => time(), 'status' => 1, 'diqu' => $area_id, 'pid' => $row['parent_id'], 'aid' => $row['id'], 'site_id' => 1, 'link' => '' ]; $run = Db::name('cms_product')->insert($insert_data); echo '插入'.$run.'条,产品id: '.$row['id'].'
'; }else{ echo '插入0条,产品id: '.$row['id'].'已存在
'; } } } /* * 同步删除操作 * 增加字段 is_del 和 delete_time * 同步删除时间和是否删除 * 目前先在发文的时候判断是否已删除就行 */ public function delHandle() { } /* * 存在小类就不创建发文任务,因为只有概述 * 小类肯定都发文 * 一个产品发一篇 不按级别 级别作为轮询为发文内容 * 标签为 产品名+申报 (这个固定不变) 另 产品名与标签名 发生修改 不做统一校验 * 同时判断产品是否正常(非删除状态) * 每一轮为一个定时任务 因为产品是不断增加的 同时任务也是不断增加的 * 每一轮的任务分组不一样 会持续不断发文 对应发文模板也不一样 * 参数 任务分组id * http://console.zx2049.com/api/cms/createTask?taskid=10 */ public function createTask() { $taskid = $this->request->get('taskid',0); if((int)$taskid === 0){ $this->error('fail'); } //查询 $add_time = Db::table('yzn_task') ->where(['catid'=>$taskid]) ->order('add_time desc') ->value('add_time'); if(empty($add_time)){ $add_time = 0; } //不做分批次处理 //新赠的产品 大类 $list = Db::table('yzn_cms_product') ->where(['status'=>1]) //,'catid'=>2 不管是大类还是小类 ->where('add_time','>',$add_time) ->select(); foreach ($list as $key=>$row){ $one = Db::name('task')->where([ 'catid' => $taskid, 'aid' => $row['aid'], 'diqu' => $row['diqu'], 'yid' => $row['catid'], 'cid' => 111, ])->find(); if(empty($one)){ //插入数据库 $insert_data = [ 'catid' => $taskid, //任务分组id 'title' => $row['title'], 'add_time' => $row['add_time'], 'create_time' => time(), 'update_time' => time(), 'status' => 0, //初始状态为0 未执行 'diqu' => $row['diqu'], 'yid' => $row['catid'], //产品大类还是小类 'aid' => $row['aid'], //产品id 'site_id' => 1, 'link' => '', //文章链接 'tagid' => 0, //标签id 初始为0 'cid' => 111, //常见问题 'run_time' => time(), 'is_run' => 0 ]; $run = Db::name('task')->insert($insert_data); echo '插入'.$run.'条,产品id: '.$row['aid'].'-'.$row['title'].'
'; }else{ echo '插入0条,产品id: '.$row['aid'].'-'.$row['title'].'已存在
'; } } } /* * {"1":"广东","30":"福建","6872":"陕西","6791":"西藏","6645":"云南","6344":"四川","6303":"重庆","6003":"海南","5879":"广西","5742":"湖南","5625":"湖北","5448":"河南","5179":"江西","5056":"安徽","4833":"江苏","4813":"上海","4667":"黑龙江","4589":"吉林","4474":"辽宁","4228":"山西","4042":"河北","4023":"天津","4003":"浙江","6547":"贵州","4359":"内蒙古","4004":"北京","6990":"甘肃","7092":"青海","7144":"宁夏","7171":"新疆","10000":"主站"} * * http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=1 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=30 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6872 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6791 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6645 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6344 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6303 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6003 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=5879 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=5742 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=5625 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=5448 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=5179 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=5056 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4833 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4813 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4667 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4589 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4474 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4228 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4042 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4023 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4003 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6547 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4359 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=4004 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=6990 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=7092 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=7144 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=7171 http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=10000 */ public function tagHandle() { $taskid = $this->request->get('taskid',0); if((int)$taskid === 0){ $this->error('fail'); } //地区参数 $diqu = $this->request->get('diqu',0); if((int)$diqu === 0){ $this->error('fail'); } $page = 1; $list = Db::name('task')->where([ 'catid' => $taskid, //任务分组id 'tagid' => 0, 'status' => 0, 'diqu' => (int)$diqu ]) ->order('add_time asc')->paginate(1); $list = $list->toArray(); $data = $list['data']; if(empty($data)){ $this->error('fail',['ko'=>'不存在数据']); } foreach ($data as $index => $row) { //获取标签 $tagname = $this->getName($row['title']); $tagname = $tagname.'申报'; if((int)$row['diqu'] === 10000){ $diqu = 0; //山东地区变为主页 区域为0 }else{ $diqu = $row['diqu']; } $one = Db::connect('db1')->table('ey_archives') ->where(['typeid' => 523,'province_id'=>$diqu,'is_del'=>0]) ->where('title',$tagname) ->find(); if(empty($one)){ //不存在 //判断是否需要增加标签 //远程判断产品状态 if((int)$row['yid'] === 2) { //大类 $one = Db::connect('db1')->table('ey_arctype')->where(['id' => $row['aid']])->find(); }else if((int)$row['yid'] === 3) { //小类 $one = Db::connect('db1')->table('ey_arctype_cat')->where(['id' => $row['aid']])->find(); }else{ //任务异常 退出 $this->error('fail'); } if((int)$one['is_del'] === 1 || (int)$one['status'] === 0){ //已删除 Db::name('task')->where(['id'=>$row['id']])->update([ 'is_run' => 4, //执行异常 'run_time' => time(), 'status' => 1, ]); $this->error('fail',['is_run'=>4]); } //是否只有一个页面 (远程) if((int)$row['yid'] === 2) { //大类 $count = Db::connect('db1')->table('ey_archives')->where(['typeid' => $row['aid'],'product_id'=>0,'is_del'=>0])->count(); }else if((int)$row['yid'] === 3) { //小类 $count = Db::connect('db1')->table('ey_archives')->where(['product_id' => $row['aid'],'is_del'=>0])->count(); }else{ //任务异常 退出 $this->error('fail'); } //dump($count); if($count <= 1) { //只有一个主页 概述 Db::name('task')->where(['id' => $row['id']])->update([ 'is_run' => 3, //执行忽略 'run_time' => time(), 'status' => 1, ]); $this->error('fail',['is_run'=>3]); } //创建标签 $insert_data = [ 'typeid' => 523, 'status' => 1, 'is_del' => 0, 'channel' => 101, 'click' => rand(500,5000), 'arcrank' => 0, 'add_time' => time(), 'update_time' => time(), 'province_id' => (int)$diqu, 'product_tag_id' => 0, //由其他任务处理 'title' => $tagname, ]; //执行插入 $aid = Db::connect('db1')->table('ey_archives')->insertGetId($insert_data); if((int)$aid > 0) { //增加详情 $insert_data_content = [ 'aid' => $aid, 'add_time' => time(), 'update_time' => time() ]; Db::connect('db1')->table('ey_suipian_content')->insert($insert_data_content); } //更新任务 标签id Db::name('task')->where(['id' => $row['id']])->update([ 'tagid' => $aid, ]); $this->success('成功'); }else{ //写入标签id 到 任务记录 Db::name('task')->where(['id' => $row['id']])->update([ 'tagid' => $one['aid'], ]); $this->success('成功'); } } } /* * 执行 * 增加字段 is_run 未执行0 执行成功1 执行失败2(远程响应错误) 执行忽略3(存在小类或无级别-只有一个主页) 产品异常4(删除或未审核或屏蔽) * run_time 执行时间 * is_run = 0 每次处理10条 * * {"1":"广东","30":"福建","6872":"陕西","6791":"西藏","6645":"云南","6344":"四川","6303":"重庆","6003":"海南","5879":"广西","5742":"湖南","5625":"湖北","5448":"河南","5179":"江西","5056":"安徽","4833":"江苏","4813":"上海","4667":"黑龙江","4589":"吉林","4474":"辽宁","4228":"山西","4042":"河北","4023":"天津","4003":"浙江","6547":"贵州","4359":"内蒙古","4004":"北京","6990":"甘肃","7092":"青海","7144":"宁夏","7171":"新疆","10000":"主站"} * * http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=1 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=30 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6872 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6791 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6645 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6344 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6303 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6003 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=5879 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=5742 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=5625 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=5448 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=5179 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=5056 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4833 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4813 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4667 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4589 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4474 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4228 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4042 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4023 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4003 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6547 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4359 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=4004 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=6990 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=7092 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=7144 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=7171 http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu=10000 * */ public function taskHandle() { $taskid = $this->request->get('taskid',0); if((int)$taskid === 0){ $this->error('fail'); } //地区参数 $diqu = $this->request->get('diqu',0); if((int)$diqu === 0){ $this->error('fail'); } //查询未执行的任务 $page = 1; $list = Db::name('task')->where([ 'catid' => $taskid, //任务分组id 'is_run' => 0, 'status' => 0, 'diqu' => (int)$diqu ]) ->where('tagid','>',0) //标签id需要已经获取到的 ->order('add_time asc')->paginate(1); $list = $list->toArray(); $data = $list['data']; //dump($data);die; if(empty($data)){ $this->error('fail',['ko'=>'不存在数据']); } /* * 跨库 无法保证远程和本地的事务一致性 * 这种机制 类似 支付 * 先简单处理 */ foreach ($data as $index => $row) { //远程判断产品状态 /*if((int)$row['yid'] === 2) { //大类 $one = Db::connect('db1')->table('ey_arctype')->where(['id' => $row['aid']])->find(); }else if((int)$row['yid'] === 3) { //小类 $one = Db::connect('db1')->table('ey_arctype_cat')->where(['id' => $row['aid']])->find(); }else{ //任务异常 退出 return false; } if((int)$one['is_del'] === 1 || (int)$one['status'] === 0){ //已删除 Db::name('task')->where(['id'=>$row['id']])->update([ 'is_run' => 4, //执行异常 'run_time' => time(), 'status' => 1, ]); return false; }*/ /* * * //不管有没有小类 只有一个主页 就执行忽略 if((int)$row['yid'] === 2) { //该任务记录 为 大类 产品 //是否存在小类(控制台产品不保证是最新数据 采用远程判断) Db::connect('db1')->table('ey_arctype_cat')->where(['parent_id' => $row['aid']])->find(); }*/ //是否只有一个页面 (远程) /*if((int)$row['yid'] === 2) { //大类 $count = Db::connect('db1')->table('ey_archives')->where(['typeid' => $row['aid'],'product_id'=>0,'is_del'=>0])->count(); }else if((int)$row['yid'] === 3) { //小类 $count = Db::connect('db1')->table('ey_archives')->where(['product_id' => $row['aid'],'is_del'=>0])->count(); }else{ //任务异常 退出 return false; } //dump($count); if($count <= 1) { //只有一个主页 概述 Db::name('task')->where(['id' => $row['id']])->update([ 'is_run' => 3, //执行忽略 'run_time' => time(), 'status' => 1, ]); return false; }*/ //构建参数 if((int)$row['diqu'] === 10000){ $diqu = 0; //山东地区变为主页 区域为0 }else{ $diqu = $row['diqu']; } $insert_data = [ 'typeid' => 111, 'status' => 1, 'is_del' => 0, 'channel' => 103, 'click' => rand(500,5000), 'arcrank' => 0, 'add_time' => time(), 'update_time' => time(), 'province_id' => (int)$diqu, 'product_tag_id' => $row['tagid'], //由其他任务处理 'title' => $this->getTitle($row,$diqu), 'seo_title' => $this->getSeoTitle($row,$diqu), 'seo_keywords' => $this->getKeywords($row,$diqu), 'seo_description' => $this->getDesc($row,$diqu), ]; //执行插入 $aid = Db::connect('db1')->table('ey_archives')->insertGetId($insert_data); //$aid=1; //dump($insert_data);die; if((int)$aid > 0) { //增加详情 $content = $this->getContent($row,$diqu); //echo htmlspecialchars_decode($content);die; $insert_data_content = [ 'aid' => $aid, 'add_time' => time(), 'update_time' => time(), 'content_5' => $content ]; Db::connect('db1')->table('ey_zczygz_content')->insert($insert_data_content); //增加序列号 $where6 = [ "type" => 2, "tid" => 111, 'topid' => 0, 'parentid' => 0, 'area_id' => (int)$diqu, //如果是0的话 后续也不能改 'city_id' => 0, //如果是0的话 后续也不能改 ]; $last = Db::connect('db1')->name('seo_number') ->where($where6)->order('number desc')->find(); if (empty($last['number'])) { $num = 1; } else { $num = (int)$last['number'] + 1; } $insert_data_seo = [ "type" => 2, //产品类型 "aid" => $aid, //实际的ID "tid" => 111, //属于哪个栏目的 'is_del' => 0, 'is_kan' => 0, // 0正常 1审核 'status' => 1, 'area_id' => (int)$diqu, 'city_id' => 0, 'topid' => 0, 'parentid' => 0, 'number' => $num ]; Db::connect('db1')->table('ey_seo_number')->insert($insert_data_seo); //更新状态 if ((int)$diqu === 0) { $link = 'https://www.gdzcfw.com/wthz' . $num; } else { $domain = Db::connect('db1')->name('citysite')->where('id', '=', $diqu)->value('domain'); $link = 'https://' . $domain . '.gdzcfw.com/wthz' . $num; } Db::name('task')->where(['id' => $row['id']])->update([ 'is_run' => 1, //执行成功 'run_time' => time(), 'status' => 1, 'link' => $link, ]); $this->success('成功'); } } } /* * 产品名称处理 */ public function getName($str){ $str = str_replace('职称', "", $str); $str = $str.'职称'; return $str; } /* * 模板1 */ public function getTitle($row,$diqu) { $area_name = ''; if((int)$diqu > 0){ $area_name = Db::connect('db1')->name('citysite')->where('id', '=', $diqu)->value('name'); } $title = $this->getName($row['title']); $str = $area_name.$title.'评定【2024年最新学历要求】'; return $str; } public function getSeoTitle($row,$diqu) { $area_name = ''; if((int)$diqu > 0){ $area_name = Db::connect('db1')->name('citysite')->where('id', '=', $diqu)->value('name'); } $title = $this->getName($row['title']); $str = $area_name.$title.'评定【2024年最新要求解读】'; return $str; } public function getKeywords($row,$diqu){ $area_name = ''; if((int)$diqu > 0){ $area_name = Db::connect('db1')->name('citysite')->where('id', '=', $diqu)->value('name'); } $title = $this->getName($row['title']); $str = $area_name.$title.'评定学历要求'; return $str; } public function getDesc($row,$diqu){ $area_name = ''; if((int)$diqu > 0){ $area_name = Db::connect('db1')->name('citysite')->where('id', '=', $diqu)->value('name'); } $title = $this->getName($row['title']); $str = $area_name.$title.'评定上【职称网】工程师职称破格评审绿色通道,专注工程师职称评审,专注工程师职称评审,提供职称材料撰写、职称申报、职称论文专利一站式服务。'; return $str; } /* * 模板1 */ public function getContent($row,$diqu) { $area_name = ''; $domain = 'www'; if((int)$diqu > 0){ $area = Db::connect('db1')->name('citysite')->where('id', '=', $diqu)->find(); $area_name = $area['name']; $domain = $area['domain']; } $title = $this->getTitle($row,$diqu); //图片地址 $op = rand(1,9); $imgurl = 'https://oss.gdzcfw.com/static/article/'.$op.'.png'; $html = ''; $html .= '


'.$title.'

'; //调用其他级别的学历要求 if((int)$row['yid'] === 2) { //大类 $aids = Db::connect('db1')->table('ey_archives')->field('aid,title')->where(['typeid' => $row['aid'],'product_id'=>0,'is_del'=>0])->select(); }else if((int)$row['yid'] === 3) { //小类 $aids = Db::connect('db1')->table('ey_archives')->field('aid,title')->where(['product_id' => $row['aid'],'is_del'=>0])->order('level asc')->select(); } $h = ['一)','二)','三)','四)','五)','六)','七)','八)','九)','十)','十一)']; $jk = 0; foreach ($aids as $k=>$v){ $data = Db::connect('db1')->table('ey_zczygz_content') ->field('aid,content_6')->where('aid','=',$v['aid'])->find(); if(!empty($data['content_6'])){ $pro_title = $this->getName($row['title']); $html .= '

'.$h[$jk].$area_name.$pro_title.'评定'.$v['title'].'学历要求:

'; $html .= '

'.$data['content_6'].'

'; $jk++; } } //拼装产品 if((int)$row['yid'] === 2) { //大类 $number = Db::connect('db1')->table('ey_seo_number')->where([ 'type' => 1, 'aid' => $row['aid'], 'parentid' => 38 ])->value('number'); $link = 'https://'.$domain.'.gdzcfw.com/id'.$number; }else if((int)$row['yid'] === 3) { //小类 $one = Db::connect('db1')->table('ey_seo_number')->where([ 'type' => 1, 'aid' => $row['aid'], ])->where('parentid','<>',38)->find(); $number = Db::connect('db1')->table('ey_seo_number')->where([ 'type' => 1, 'aid' => $one['parentid'], 'parentid' => 38 ])->value('number'); $link = 'https://'.$domain.'.gdzcfw.com/id'.$number.'/sid'.$one['number']; } $html .= '

最新'.$area_name.$pro_title.'评定政策详情请点击:'.$area_name.$pro_title.'

'; //其他链接 $html .= '

职称网更多职称评审相关请点击:
'.$area_name.'职称政策文件下载: 职称材料
职称答辩相关指引请点击: 职称答辩
职称评审绿色破格通道: 职称代办


'; return $html; } /* * 执行忽略 重新校验 * 产品后面增加了级别 一开始没有级别 也没有小类 * 产品后面增加了级别 一开始没有级别 有小类 * 产品后面增加了小类 一开始没有级别 也没有小类 * 产品后面增加了小类 一开始有级别 没有小类 * * 不管有没有小类 是大类还是小类 只要没有级别 就不发文 就对了 * 就算有小类 有级别 就发文 * 正常情况 不会存在既有级别又有小类 * 这里把执行忽略的 校验后 改为未执行 */ /* * 产品异常 校验产品如果正常了 任务改为未执行 */ /* * 生成地区json 方便增加查询条件 * http://console.zx2049.com/api/cms/getAreaJson */ public function getAreaJson() { $area = Db::connect('db1') ->table('ey_citysite') ->where(['level'=>1,'is_open'=>1,'status'=>1]) ->select(); //dump($area); $area[] = [ 'id' => 10000, 'name' => '主站', ]; //{ 0: '待审核', 1: '通过' } $collect = []; $str = ''; foreach($area as $k=>$v){ $collect[(int)$v['id']] = $v['name']; //$str .= 'http://console.zx2049.com/api/cms/taskHandle?taskid=10&diqu='.$v['id'].'
'; $str .= 'http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu='.$v['id'].'
'; } $collect = json_encode($collect,JSON_UNESCAPED_UNICODE); echo $str; //return $collect; } /* * 批量执行标签处理 * 加入队列 http://console.zx2049.com/api/cms/getTagListHandle * 启动队列 php think queue:listen --queue tagHandle * 监听队列 进程守护管理器 (附加参数参考: https://www.kancloud.cn/ken678/yzncms/2383907) * redis查看数据器 默认重置次数1 * workman实时推送消息 * 添加自定义命令的方式来执行队列 */ public function getTagListHandle() { /* $a = new \app\api\queue\jobs\TagHandle(); var_dump($a); return json([]);*/ $area = Db::connect('db1') ->table('ey_citysite') ->where(['level'=>1,'is_open'=>1,'status'=>1]) ->select(); //dump($area); $area[] = [ 'id' => 10000, 'name' => '主站', ]; foreach ($area as $k=>$v){ //http://console.zx2049.com/api/cms/tagHandle?taskid=10&diqu=1 $jobData = ['ts' => time(),'url'=>'http://console.zx2049.com/api/cms/tagHandle','taskid'=>10, 'area_id' => $v['id'], 'area_name' => $v['name']];//当前任务所需的业务数据 $isPushed = \think\Queue::push('app\common\jobs\TagHandle', $jobData,'tagHandle');//没有@使用默认方法fire,此方法为立即执行 if ($isPushed !== false) { echo "ok"; } else { echo 'warn'; } echo "
"; } } }