69 lines
2.4 KiB
PHP
69 lines
2.4 KiB
PHP
<?php
|
||
|
||
namespace App\Controller;
|
||
|
||
use App\Model\ArticleScience;
|
||
use App\Request\ArticleRequest;
|
||
use App\Request\PatientDoctorRequest;
|
||
use App\Services\PatientDoctorService;
|
||
use Psr\Container\ContainerExceptionInterface;
|
||
use Psr\Container\NotFoundExceptionInterface;
|
||
use Psr\Http\Message\ResponseInterface;
|
||
|
||
/**
|
||
* 文章管理
|
||
*/
|
||
class ArticleController extends AbstractController
|
||
{
|
||
/**
|
||
* 获取科普文章列表
|
||
* @return ResponseInterface
|
||
* @throws ContainerExceptionInterface
|
||
* @throws NotFoundExceptionInterface
|
||
*/
|
||
public function getArticleScienceList(): ResponseInterface
|
||
{
|
||
$request = $this->container->get(ArticleRequest::class);
|
||
$request->scene('getArticleScienceList')->validateResolved();
|
||
|
||
$keyword = $this->request->input('keyword',"");
|
||
$is_top = $this->request->input('is_top');
|
||
$source_id = $this->request->input('source_id');
|
||
$basic_class_id = $this->request->input('basic_class_id');
|
||
$page = $this->request->input('page',1);
|
||
$per_page = $this->request->input('per_page',10);
|
||
|
||
// 组合条件
|
||
$article_science_params = array();// 文章搜索
|
||
$article_science_class_params = array();// 文章分类搜索
|
||
|
||
// 是否置顶(0:否 1:是)
|
||
if (!empty($is_top)){
|
||
$article_science_params['is_top'] = $is_top;
|
||
}
|
||
|
||
// 来源id
|
||
if (!empty($source_id)){
|
||
$article_science_params['source_id'] = $source_id;
|
||
}
|
||
|
||
// 分类id
|
||
if (!empty($basic_class_id)){
|
||
$article_science_class_params['basic_class_id'] = $basic_class_id;
|
||
}
|
||
|
||
$fields = ["*"];
|
||
$article_sciences = ArticleScience::getArticleSciencePage($keyword,$article_science_params, $article_science_class_params, $fields,$page,$per_page);
|
||
if (!empty($article_sciences['data'])) {
|
||
foreach ($article_sciences['data'] as &$article_science) {
|
||
$article_science['article_image'] = addAliyunOssWebsite($article_science['article_image']);
|
||
|
||
if (!empty($article_science["ArticleScienceSource"])){
|
||
$article_science["ArticleScienceSource"]["source_image"] = addAliyunOssWebsite($article_science["ArticleScienceSource"]["source_image"]);
|
||
}
|
||
|
||
}
|
||
}
|
||
return $this->response->json(success($article_sciences));
|
||
}
|
||
} |