Эх сурвалжийг харах

Merge branch 'collector_1106_fr' into dev

15313670163 3 сар өмнө
parent
commit
4ea8dc46d1

+ 63 - 41
app/JsonRpc/CollectorService.php

@@ -60,13 +60,13 @@ class CollectorService implements CollectorServiceInterface
             $where = [
                 ['name','like','%'.$data['keyWord'].'%']
             ];
-            $rep = Web::where($where)->limit($data['pageSize'])->orderBy("created_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
+            $rep = Web::where($where)->limit($data['pageSize'])->orderBy("updated_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
             $count =  Web::where($where)->count();
             if($count==0){
                 return Result::error('未查找到相关网站!');
             }
         }else{
-            $rep = Web::limit($data['pageSize'])->orderBy("created_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
+            $rep = Web::limit($data['pageSize'])->orderBy("updated_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
             $count =  Web::count();
             
         }
@@ -228,6 +228,7 @@ class CollectorService implements CollectorServiceInterface
              
         }
         return Result::success($result);
+        
     }
     
     /**
@@ -260,9 +261,9 @@ class CollectorService implements CollectorServiceInterface
             ];
         }
         if(empty($where)){
-            $rep = Rule::withCount(relations:'arts')->limit($data['pageSize'])->orderBy("created_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
+            $rep = Rule::withCount(relations:'arts')->limit($data['pageSize'])->orderBy("updated_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
         }else{
-            $rep = Rule::withCount(relations:'arts')->where($where)->limit($data['pageSize'])->orderBy("created_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
+            $rep = Rule::withCount(relations:'arts')->where($where)->limit($data['pageSize'])->orderBy("updated_at","desc")->offset(($data['page']-1)*$data['pageSize'])->get();
         }
         
         $count = Rule::where($where)->count();
@@ -647,34 +648,35 @@ class CollectorService implements CollectorServiceInterface
             ['rule_id','=',$data['rule_id']]
         ];
         //若存在条件参数都存到where数组
-        if(isset($data['title'])){
-            $where[] = ['title','like','%'.$data['title'].'%'];
+        if(isset($data['title']) && !empty($data['title'])){
+            array_push($where,['title','like','%'.$data['title'].'%']);
         }
-        if(isset($data['source'])){
-            $art_source = Article::where($where)->get();
-            if(!empty($art_source->toArray())){
-                $where[] = ['source','=',$data['source']];
-            } 
+        if(isset($data['source']) && !empty($data['source'])){
+            // $art_source = Article::where($where)->get();
+            // if(!empty($art_source->toArray())){
+                array_push($where,['copyfrom','like','%'.$data['source'].'%']);
+            // } 
         }
-        if(isset($data['state'])){
-            $where[] = ['state','=',$data['state']];
+        if(isset($data['state']) && $data['state']!=''){
+            array_push($where,['state',$data['state']]);
         }
         //跨库查询栏目导航及采集的新闻
         $info = Article::query()
         ->where($where)
         ->with('category')
-        ->orderBy("article.id","desc")
+        ->orderBy("article.updated_at","desc")
         ->limit($data['pageSize'])
         ->offset(($data['page']-1)*$data['pageSize'])->get();
         $count = Article::where($where)->count();
         if($count == 0){
             return Result::error('暂无资讯');
         }
-        $data = [
+
+        $result = [
             'rep' => $info->toArray(),
             'count' => $count
         ];
-        return  Result::success($data);
+        return  Result::success($result);
     }
     /**
      * 获取某个资讯
@@ -777,44 +779,64 @@ class CollectorService implements CollectorServiceInterface
     */
     public function addCatid(array $data): array
     {
+
         $id = $data['rule_id'];
         $art = Article::where('rule_id',$id)->select('id')->count();
         if($art==0){
             return Result::error('还未采集,请采集');
         }else{
             $info = Article::where('rule_id',$id)->where('state',0)->select('id')->get();
-        if(empty($info->toArray())){
-            return Result::error('所有文章都已导入,不可修改关联的导航池!'); 
-        }else{
-            //查找此规则任务下的文章是否已经有导入的文章
-            $article = Article::where('rule_id',$id)->where('state',1)->select('id')->get();
-            if(!empty($article->toArray())){
-                //若有已导入的文章则直接复制之前已导入的导航池
-                $catid = Article::whereIn('id',$article)->select('catid')->first();
-                //若未导入的文章已经复制之前的导航,则无需修改
-                $art_catid = Article::whereIn('id',$info)->whereNull('catid')->count();
-                if($art_catid>0){
-                    $result = Article::whereIn('id',$info)->update(['catid'=>$catid['catid']]);
-                }else{
-                    $result = ['已全部关联导航,无需再次关联!'];
-                }
+            if(empty($info->toArray())){
+                return Result::error('所有文章都已导入,不可修改关联的导航池!'); 
             }else{
-                //若不存在已导入的文章则判断是否存在导航id
-                if(isset($data['catid'])){
-                    //若存在直接使用此导航id
-                    $result = Article::whereIn('id',$info)->update(['catid'=>$data['catid']]);
+                //查找此规则任务下的文章是否已经有导入的文章
+                $article = Article::where('rule_id',$id)->where('state',1)->select('id')->get();
+                if(!empty($article->toArray())){
                     
+                    //查询已导入的文章的导航id
+                    $catid = Article::whereIn('id',$article)->select('catid')->first();
+                    $cat_arr_id = Article::whereIn('id',$article)->select('cat_arr_id')->first();
+                    //查询未导入的文章id
+                    $art_catid = Article::whereIn('id',$info)->whereNull('catid')->count();
+                    if($art_catid>0){
+                        $catid = isset($catid['catid'])?$catid['catid']:'';
+                        // var_dump("更新数据111:",$catid,$cat_arr_id);
+                        $result = Article::whereIn('id',$info)->update(['catid'=>$catid,'cat_arr_id'=>$cat_arr_id['cat_arr_id']]);
+                        // var_dump("更新数据111:",$result);
+                    }else{
+                        // var_dump("已全部关联导航池请勿重复关联");
+                        return Result::error('已全部关联导航池请勿重复关联');
+                    }
                 }else{
-                    //若不存在则返回所有导航栏目
-                    $result = Category::select('id','name')->get();
+                    //若不存在已导入的文章则判断是否存在导航id
+                    if(isset($data['cat_arr_id'])){
+                        $catid = isset($data['cat_arr_id'])?end($data['cat_arr_id']):'';
+                        $cat_arr_id = isset($data['cat_arr_id'])?json_encode($data['cat_arr_id']):'';
+                        //若存在直接使用此导航id
+                       
+                        $result = Article::whereIn('id',$info)->update(['catid'=>$catid,'cat_arr_id'=>$cat_arr_id]);
+                        var_dump("55555555555555555",$result);
+                    }else{
+                        //若不存在则返回所有导航栏目
+                        $result = Category::select('id','name')->get();
+                        if(!empty($result)){
+                            return Result::success($result);
+                        }else{
+                            return Result::error('暂无数据');
+                        }
+                    }
                 }
+                
             }
-              
         }
+        if(empty($result)){
+            return Result::error('暂无数据');
+        }else{
+            return  Result::success($result);
         }
-        //查找此规则任务下的文章是否都已经导入
+        // return  Result::success($result);
         
-        return  Result::success($result);
+
     }
     /**
     * 导入文章(生产者)
@@ -846,7 +868,7 @@ class CollectorService implements CollectorServiceInterface
         ];
         //获取某个规则任务下的已采集未导入的文章及文章详情
         $arts_id = Article::where($where)->wherenotNull('catid')->select('id')->orderBy('id')->get()->toArray();
-        $arts = Article::where($where)->wherenotNull('catid')->select('title','catid','level','introduce','keyword','author','copyfrom','fromurl','hits','islink','imgurl','admin_user_id','is_original')->orderBy('id')->get()->toArray();       
+        $arts = Article::where($where)->wherenotNull('catid')->select('title','catid','level','introduce','keyword','author','copyfrom','fromurl','hits','islink','imgurl','admin_user_id','is_original','cat_arr_id')->orderBy('id')->get()->toArray();       
         // var_dump('=============:::',$arts_id);
         $arts_data = ArticleData::whereIn('article_id',$arts_id)->select('content')->orderBy('article_id','desc')->get()->toArray();
         // var_dump('=============',$arts);