|
@@ -4,6 +4,7 @@ namespace App\JsonRpc;
|
|
use App\Model\Article;
|
|
use App\Model\Article;
|
|
use App\Model\ArticleData;
|
|
use App\Model\ArticleData;
|
|
use App\Model\Category;
|
|
use App\Model\Category;
|
|
|
|
+use App\Model\WebsiteCategory;
|
|
use Hyperf\DbConnection\Db;
|
|
use Hyperf\DbConnection\Db;
|
|
use Hyperf\RpcServer\Annotation\RpcService;
|
|
use Hyperf\RpcServer\Annotation\RpcService;
|
|
use App\Tools\Result;
|
|
use App\Tools\Result;
|
|
@@ -278,4 +279,94 @@ class NewsService implements NewsServiceInterface
|
|
return Result::error("查询失败",0);
|
|
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);
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|