|
@@ -30,9 +30,6 @@ class CollectorService implements CollectorServiceInterface
|
|
$isweb = Web::where($where)->first();
|
|
$isweb = Web::where($where)->first();
|
|
if(empty($isweb)){
|
|
if(empty($isweb)){
|
|
date_default_timezone_set('Asia/Shanghai');
|
|
date_default_timezone_set('Asia/Shanghai');
|
|
- $time = time();
|
|
|
|
- $catetime = date('Y-m-d H:i:s', $time);
|
|
|
|
- $data['created_at'] = $catetime;
|
|
|
|
$web = Web::insert($data);
|
|
$web = Web::insert($data);
|
|
|
|
|
|
}else{
|
|
}else{
|
|
@@ -85,10 +82,11 @@ class CollectorService implements CollectorServiceInterface
|
|
{
|
|
{
|
|
|
|
|
|
$web = Web::where('id',$data['id'])->first();
|
|
$web = Web::where('id',$data['id'])->first();
|
|
- if(empty($web->toArray())){
|
|
|
|
|
|
+ if(empty($web)){
|
|
return Result::error('请输入正确的网站id!');
|
|
return Result::error('请输入正确的网站id!');
|
|
|
|
|
|
}else{
|
|
}else{
|
|
|
|
+ date_default_timezone_set('Asia/Shanghai');
|
|
$id = Web::where('id',$data['id'])->update($data);
|
|
$id = Web::where('id',$data['id'])->update($data);
|
|
if(empty($id)){
|
|
if(empty($id)){
|
|
return Result::error('无法修改!');
|
|
return Result::error('无法修改!');
|
|
@@ -140,11 +138,6 @@ class CollectorService implements CollectorServiceInterface
|
|
}
|
|
}
|
|
return Result::success($result);
|
|
return Result::success($result);
|
|
}
|
|
}
|
|
- /**
|
|
|
|
- * 添加规则任务
|
|
|
|
- * @param array $data
|
|
|
|
- * @return array|mixed
|
|
|
|
- */
|
|
|
|
public function addRule(array $data): array
|
|
public function addRule(array $data): array
|
|
{
|
|
{
|
|
$web = Web::where('id',$data['web_id'])->get();
|
|
$web = Web::where('id',$data['web_id'])->get();
|
|
@@ -155,20 +148,62 @@ class CollectorService implements CollectorServiceInterface
|
|
$rulename = Rule::where('name',$data['name'])->get();
|
|
$rulename = Rule::where('name',$data['name'])->get();
|
|
//查找是否存在规则名称重复的
|
|
//查找是否存在规则名称重复的
|
|
if(empty($rulename->toArray())){
|
|
if(empty($rulename->toArray())){
|
|
|
|
+ //(若是多类型参数一起传过来则根据类型,只获取对应类型需要的参数)
|
|
|
|
+ switch($data['type']){
|
|
|
|
+ case 1:
|
|
|
|
+ $rule = [
|
|
|
|
+ 'name' => $data['name'],
|
|
|
|
+ 'web_id' => $data['web_id'],
|
|
|
|
+ 'first_url' => $data['first_url'],
|
|
|
|
+ 'second_start' => $data['second_start'],
|
|
|
|
+ 'second_num' => $data['second_num'],
|
|
|
|
+ 'second_end' => $data['second_end'],
|
|
|
|
+ 'end_pagenum' => $data['end_pagenum'],
|
|
|
|
+ 'start' => $data['start'],
|
|
|
|
+ 'title' => $data['title'],
|
|
|
|
+ 'content' => $data['content']
|
|
|
|
+ ];
|
|
|
|
+ // var_dump("============1============");
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ $rule = [
|
|
|
|
+ 'name' => $data['name'],
|
|
|
|
+ 'web_id' => $data['web_id'],
|
|
|
|
+ 'first_url' => $data['first_url'],
|
|
|
|
+ 'parameter' => $data['parameter'],
|
|
|
|
+ 'start' => $data['start'],
|
|
|
|
+ 'title' => $data['title'],
|
|
|
|
+ 'content' => $data['content']
|
|
|
|
+ ];
|
|
|
|
+ // var_dump("============2============");
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ $rule = [
|
|
|
|
+ 'name' => $data['name'],
|
|
|
|
+ 'web_id' => $data['web_id'],
|
|
|
|
+ 'diy_rule' => $data['diy_rule']
|
|
|
|
+ ];
|
|
|
|
+ // var_dump("============3============");
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ if(isset($data['source']) && $data['type'] != 3){
|
|
|
|
+ $rule ['source'] = $data['source'];
|
|
|
|
+ }
|
|
|
|
+ if(isset($data['writer_class']) && $data['type'] != 3){
|
|
|
|
+ $rule ['writer_class'] = $data['writer_class'];
|
|
|
|
+ }
|
|
|
|
+ if(isset($data['writer']) && $data['type'] != 3){
|
|
|
|
+ $rule ['writer'] = $data['writer'];
|
|
|
|
+ }
|
|
date_default_timezone_set('Asia/Shanghai');
|
|
date_default_timezone_set('Asia/Shanghai');
|
|
- $time = time();
|
|
|
|
- $catetime = date('Y-m-d H:i:s', $time);
|
|
|
|
- $data['created_at'] = $catetime;
|
|
|
|
- unset($data['type']);
|
|
|
|
//若不存在,根据网站类型添加到不行类型的规则表中
|
|
//若不存在,根据网站类型添加到不行类型的规则表中
|
|
- $id = Rule::insertGetId($data);
|
|
|
|
- $result = ['data' => $id];
|
|
|
|
|
|
+ $result = Rule::insertGetId($rule);
|
|
|
|
|
|
}else{
|
|
}else{
|
|
return Result::error('此任务已存在!');
|
|
return Result::error('此任务已存在!');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return Result::success($result['data']);
|
|
|
|
|
|
+ return Result::success($result);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -226,16 +261,17 @@ class CollectorService implements CollectorServiceInterface
|
|
*/
|
|
*/
|
|
public function upRule(array $data): array
|
|
public function upRule(array $data): array
|
|
{
|
|
{
|
|
- $rule = Rule::where('id',$data['id'])->first();
|
|
|
|
|
|
+ $rule = Rule::where('id',$data['id'])->select('id')->first();
|
|
|
|
+ unset($data['type']);
|
|
if(empty($rule)){
|
|
if(empty($rule)){
|
|
return Result::error('请输入正确的规则任务id!');
|
|
return Result::error('请输入正确的规则任务id!');
|
|
|
|
|
|
}else{
|
|
}else{
|
|
- $rulename = Rule::where('name',$data['name'])->first();
|
|
|
|
|
|
+ $rulename = Rule::where('id','!=',$rule['id'])->where('name',$data['name'])->select('name')->first();
|
|
if(empty($rulename)){
|
|
if(empty($rulename)){
|
|
$result = Rule::where('id',$data['id'])->update($data);
|
|
$result = Rule::where('id',$data['id'])->update($data);
|
|
}else{
|
|
}else{
|
|
- return Result::error('此任务名称已存在!');
|
|
|
|
|
|
+ return Result::error('已存在此任务规则名称!');
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -255,10 +291,10 @@ class CollectorService implements CollectorServiceInterface
|
|
|
|
|
|
}else{
|
|
}else{
|
|
//查找是否存在已导入的文章
|
|
//查找是否存在已导入的文章
|
|
- $art_num = Article::where('rule_id',$data['rule'])->where('state',1)->count();
|
|
|
|
|
|
+ $art_num = Article::where('rule_id',$data['rule_id'])->where('state',1)->count();
|
|
if($art_num==0){
|
|
if($art_num==0){
|
|
//查找是否存在已采集但是未导入的文章
|
|
//查找是否存在已采集但是未导入的文章
|
|
- $colart_num = Article::where('rule_id',$data['rule'])->where('state',0)->count();
|
|
|
|
|
|
+ $colart_num = Article::where('rule_id',$data['rule_id'])->where('state',0)->count();
|
|
if($colart_num==0){
|
|
if($colart_num==0){
|
|
$result['rule'] = Rule::where($where)->delete();
|
|
$result['rule'] = Rule::where($where)->delete();
|
|
}else{
|
|
}else{
|
|
@@ -266,7 +302,7 @@ class CollectorService implements CollectorServiceInterface
|
|
Db::beginTransaction();
|
|
Db::beginTransaction();
|
|
//若有已采集但未导入的文章,删除规则任务及相应的未导入的文章
|
|
//若有已采集但未导入的文章,删除规则任务及相应的未导入的文章
|
|
$result['rule'] = Rule::where($where)->delete();
|
|
$result['rule'] = Rule::where($where)->delete();
|
|
- $result['art'] = Article::where('rule_id',$data['id'])->delete();
|
|
|
|
|
|
+ $result['art'] = Article::where('rule_id',$data['rule_id'])->delete();
|
|
Db::commit();
|
|
Db::commit();
|
|
} catch(\Throwable $ex){
|
|
} catch(\Throwable $ex){
|
|
Db::rollBack();
|
|
Db::rollBack();
|
|
@@ -347,6 +383,9 @@ class CollectorService implements CollectorServiceInterface
|
|
{
|
|
{
|
|
$where = ['id' => $data['art_id']];
|
|
$where = ['id' => $data['art_id']];
|
|
$inf = Article::where($where)->first();
|
|
$inf = Article::where($where)->first();
|
|
|
|
+ if($inf==null){
|
|
|
|
+ return Result::error('请输入正确的资讯id!');
|
|
|
|
+ }
|
|
$info = Article::where($where)
|
|
$info = Article::where($where)
|
|
->leftJoin('article_data','article_id','id')
|
|
->leftJoin('article_data','article_id','id')
|
|
->select('article.*','article_data.content')
|
|
->select('article.*','article_data.content')
|
|
@@ -355,9 +394,7 @@ class CollectorService implements CollectorServiceInterface
|
|
$category = Category::where(['id'=>$info['catid']])->select('name')->first();
|
|
$category = Category::where(['id'=>$info['catid']])->select('name')->first();
|
|
$info['category'] = $category['name'];
|
|
$info['category'] = $category['name'];
|
|
}
|
|
}
|
|
- if(empty($info)){
|
|
|
|
- return Result::error('请输入正确的资讯id!');
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
return Result::success($info);
|
|
return Result::success($info);
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
@@ -374,6 +411,9 @@ class CollectorService implements CollectorServiceInterface
|
|
unset($data['content']);
|
|
unset($data['content']);
|
|
//去掉此元素
|
|
//去掉此元素
|
|
$info = Article::where('id',$id)->first();
|
|
$info = Article::where('id',$id)->first();
|
|
|
|
+ if($info==null){
|
|
|
|
+ return Result::error('请输入正确的文章id!');
|
|
|
|
+ }
|
|
if($info['state']==1){
|
|
if($info['state']==1){
|
|
return Result::error('此文章已导入 ,不可编辑!');
|
|
return Result::error('此文章已导入 ,不可编辑!');
|
|
}else{
|
|
}else{
|
|
@@ -405,6 +445,9 @@ class CollectorService implements CollectorServiceInterface
|
|
{
|
|
{
|
|
$id = $data['art_id'];
|
|
$id = $data['art_id'];
|
|
$info = Article::where('id',$id)->first();
|
|
$info = Article::where('id',$id)->first();
|
|
|
|
+ if($info==null){
|
|
|
|
+ return Result::error('请输入正确的文章id!');
|
|
|
|
+ }
|
|
if($info['state']==1){
|
|
if($info['state']==1){
|
|
return Result::error('此文章已导入,不可删除!');
|
|
return Result::error('此文章已导入,不可删除!');
|
|
}else{
|
|
}else{
|
|
@@ -448,7 +491,7 @@ class CollectorService implements CollectorServiceInterface
|
|
if($art_catid>0){
|
|
if($art_catid>0){
|
|
$result = Article::whereIn('id',$info)->update(['catid'=>$catid['catid']]);
|
|
$result = Article::whereIn('id',$info)->update(['catid'=>$catid['catid']]);
|
|
}else{
|
|
}else{
|
|
- $result = ['已全部关联导航,无需导入!'];
|
|
|
|
|
|
+ $result = ['已全部关联导航,无需再次关联!'];
|
|
}
|
|
}
|
|
}else{
|
|
}else{
|
|
//若不存在已导入的文章则判断是否存在导航id
|
|
//若不存在已导入的文章则判断是否存在导航id
|