limit($data['pageSize'])->orderBy("sort","asc")->offset(($data['page']-1)*$data['pageSize'])->get(); $count = Category::where($where)->count(); $data = [ 'rows'=>$rep->toArray(), 'count'=>$count ]; if(empty($rep->toArray())){ return Result::error("没有栏目数据"); } return Result::success($data); } /** * @param array $data * @return array */ public function getCategoryList(array $data): array { $where = [ ['name','like','%'.$data['keyWord'].'%'], ['website_id','=',$data['website_id']], ['pid','=',$data['pid']??0] ]; $rep = Category::where($where)->limit($data['pageSize'])->orderBy("sort","asc")->offset(($data['page']-1)*$data['pageSize'])->get(); $count = Category::where($where)->count(); $data = [ 'rows'=>$rep->toArray(), 'count'=>$count ]; if(empty($rep->toArray())){ return Result::error("没有栏目数据"); } return Result::success($data); } /** * @param array $data * @return array */ public function categoryList(array $data): array { $result = Category::where($data)->get(); if(empty($result)){ return Result::error("没有栏目数据"); } return Result::success($result); } /** * @param array $data * @return array */ public function addCategory(array $data): array { $id = Category::insertGetId($data); if(empty($id)){ return Result::error("添加失败"); } return Result::success(['id'=>$id]); } /** * @param array $data * @return array */ public function delCategory(array $data): array { $categoryList = Category::where(['pid'=>$data['id']])->get(); var_dump("分类列表:",$data,$categoryList); if($categoryList->toArray()){ return Result::error("分类下面有子分类不能删除"); } $articleList = Article::where(['catid'=>$data['id']])->get(); var_dump("文章列表:",$articleList); if($articleList->toArray()){ return Result::error("分类下面有资讯不能删除"); } $result = Category::where($data)->delete(); if(!$result){ return Result::error("删除失败"); } return Result::success($result); } /** * @param array $data * @return array */ public function updateCategory(array $data): array { $where = [ 'id'=>$data['id'] ]; $result = Category::where($where)->update($data); if($result){ return Result::success($result); }else{ return Result::error("更新失败"); } } /** * @param array $data * @return array */ public function getArticleList(array $data): array { $where= []; if(isset($data['keyWord'])){ $where[] = ['article.title','like','%'.$data['keyWord'].'%']; $where[] = ['article.status','!=','5']; } if(isset($data['catid'])){ $where[] = ['article.catid',$data['catid']]; $where[] = ['article.status', '1']; }elseif(isset($data['keyword'])){ $where[] = ['article.title','like','%'.$data['keyword'].'%']; $where[] = ['article.status', '1']; }else{ $where[] = ['article.catid',$data['catid']]; $where[] = ['article.title','like','%'.$data['keyword'].'%']; $where[] = ['article.status', '1']; } $rep = Article::where($where) ->leftJoin('category','article.catid','category.id') ->leftJoin("article_data","article.id","article_data.article_id") ->select("article.*","category.name","article_data.content") ->orderBy("article.id","desc") ->limit($data['pageSize']) ->offset(($data['page']-1)*$data['pageSize'])->get(); $count = Article::where($where)->count(); $data = [ 'rows'=>$rep->toArray(), 'count'=>$count ]; if(empty($rep)){ return Result::error("没有信息数据"); } return Result::success($data); } /** * @param array $data * @return array */ public function addArticle(array $data): array { Db::beginTransaction(); try{ $data['cat_arr_id'] = isset($data['cat_arr_id'])?json_encode($data['cat_arr_id']):''; $data['tag'] = isset($data['tag'])?json_encode($data['tag']):''; $articleData = $data; unset($articleData['content']); $id = Article::insertGetId($articleData); $articleDataContent = [ 'article_id'=>$id, 'content'=>$data['content'] ]; ArticleData::insertGetId($articleDataContent); Db::commit(); } catch(\Throwable $ex){ Db::rollBack(); var_dump($ex->getMessage()); return Result::error("创建失败",0); } return Result::success(['id'=>$id]); } /** * @param array $data * @return array */ public function delArticle(array $data): array { $result = Article::where($data)->update(['status'=>5]); if(!$result){ return Result::error("删除失败"); } return Result::success($result); } /** * @param array $data * @return array */ public function updateArticle(array $data): array { Db::beginTransaction(); try{ $data['cat_arr_id'] = isset($data['cat_arr_id'])?json_encode($data['cat_arr_id']):''; $data['tag'] = isset($data['tag'])?json_encode($data['tag']):''; $articleData = $data; unset($articleData['content']); unset($articleData['status_name']); unset($articleData['name']); unset($articleData['content']); unset($articleData['pid_arr']); unset($articleData['pid']); $id = Article::where(['id'=>$data['id']])->update($articleData); $articleDataContent = [ 'content'=>$data['content'] ]; ArticleData::where(['article_id'=>$data['id']])->update($articleDataContent); } catch(\Throwable $ex){ Db::rollBack(); var_dump($ex->getMessage()); return Result::error("更新失败",0); } return Result::success([]); } /** * @param array $data * @return array */ public function getArticleInfo(array $data): array { $where = [ 'article.id'=>$data['id'] ]; $result = Article::where($where)->leftJoin("article_data","article.id","article_data.article_id")->first(); if($result){ return Result::success($result->toArray()); }else{ return Result::error("查询失败",0); } } /** * 获取新闻 * @param array $data * @return array */ public function getWebsiteArticlett(array $data): array { $category = WebsiteCategory::where('website_id',$data['website_id'])->select('category_id')->get(); $category = $category->toArray(); $result= []; if($category){ $category_ids = []; foreach($category as $val){ array_push($category_ids,$val['category_id']); } if(isset($data['placeid'])){ $placeid=$data['placeid']-1; $result=Article::where('status',1)->where('level',$data['level'])->whereIn("catid",$category_ids)->orderBy("created_at","desc")->offset($placeid)->limit($data['pageSize'])->get(); }else{ $result=Article::where('status',1)->where('level',$data['level'])->whereIn("catid",$category_ids)->orderBy("created_at","desc")->offset(0)->limit($data['pageSize'])->get(); } if(empty($result)){ return Result::error("暂无头条新闻",0); } return Result::success($result); }else{ return Result::error("本网站下暂无相关栏目",0); } } /** * 获取模块新闻 * @param array $data * @return array */ public function getWebsiteModelArticles(array $data): array { $catid=$data['catid']; $category = WebsiteCategory::where('website_id',$data['website_id'])->where('category_id',$catid)->select('category_id')->get(); $category = $category->toArray(); if(!empty($category)){ $where=[ 'status' => 1, 'catid' => $catid, ]; if($data['level']==1){ $level=[ 0=>'1', 1=>'4', 2=>'5' ]; $result = Article::where($where)->whereIn('level',$level)->orderBy("created_at","desc")->limit($data['pagesize'])->get(); }elseif($data['level']==2){ $level='2'; $result = Article::where($where)->where('level',$level)->orderBy("created_at","desc")->limit($data['pagesize'])->get(); }else{ $level='3'; $result = Article::where($where)->where('level',$level)->orderBy("created_at","desc")->limit($data['pagesize'])->get(); } $result= $result->toArray(); if(!empty($result) && isset($data['placeid']) && !empty($data['placeid'])){ $placeid=$data['placeid']-1; if($level==2 || $level==3){ $where =[ 'level' => $level ]; $result = Article::where($where) ->orderBy("created_at","desc") ->offset($placeid) ->limit($data['pagesize'])->get(); }else{ $result = Article::where($where) ->whereIn('level',$level) ->offset($placeid) ->orderBy("created_at","desc") ->limit($data['pagesize'])->get(); } } if(empty($result)){ return Result::error("此栏目暂无相关新闻",0); } }else{ return Result::error("此网站暂无此栏目",0); } return Result::success($result); } }