diff --git a/app/controller/admin/OnlineMediasConfigController.php b/app/controller/admin/OnlineMediasConfigController.php index 2235fd5..f64817f 100644 --- a/app/controller/admin/OnlineMediasConfigController.php +++ b/app/controller/admin/OnlineMediasConfigController.php @@ -43,7 +43,10 @@ class OnlineMediasConfigController public function index(OnlineMediasConfigService $service): Response { - return success($service->listData()); + $params = requestOnly([ + 'module_id' => 1, + ]); + return success($service->listData($params)); } public function read(OnlineMediasConfigService $service): Response diff --git a/app/controller/admin/OnlineMediasController.php b/app/controller/admin/OnlineMediasController.php index 5333d0f..af65fae 100644 --- a/app/controller/admin/OnlineMediasController.php +++ b/app/controller/admin/OnlineMediasController.php @@ -2,6 +2,7 @@ namespace app\controller\admin; use app\service\admin\OnlineMediasService; +use app\service\admin\SelfMediasService; use app\service\user\ApiService; use app\service\admin\ApiService as AdminApiService; use support\Response; @@ -11,10 +12,15 @@ class OnlineMediasController public function index(OnlineMediasService $service): Response { $params = requestOnly([ + 'model_id' => 1, 'wheres' => [], 'name' => '' ]); - return success($service->listData($params)); + if ($params['model_id'] == 1) { + return success($service->listData($params)); + } + $selfMediasService = app()->make(SelfMediasService::class); + return success($selfMediasService->listData($params)); } /** @@ -23,6 +29,7 @@ class OnlineMediasController public function receive(ApiService $service) { $params = requestOnly([ + 'model_id' => 1, 'media_id' => '', 'article_id' => '' ]); diff --git a/app/route/route.php b/app/route/route.php index f58363a..116b762 100644 --- a/app/route/route.php +++ b/app/route/route.php @@ -207,11 +207,18 @@ Route::group('/service/v1', function () { //投稿 Route::group('/contribution', function () { - //选项 + //网媒 + Route::group(function () { + //媒体资源 + Route::post('/resource', [OnlineMediasController::class, 'index'])->setParams(['perm' => ['contributionResource']]); + }); + //自媒体 + Route::group(function () { + + }); + //通用选项 Route::get('/options', [OnlineMediasConfigController::class, 'index'])->setParams(['perm' => ['contributionOptions']]); - //媒体资源 - Route::post('/resource', [OnlineMediasController::class, 'index'])->setParams(['perm' => ['contributionResource']]); - //投稿 + //通用投稿 Route::post('/receive', [OnlineMediasController::class, 'receive'])->setParams(['perm' => ['contributionReceive']]); //稿件记录 Route::get('/index', [CreationArticleReceiveRecordsController::class, 'index'])->setParams(['perm' => ['contributionIndex']]); diff --git a/app/service/admin/OnlineMediasConfigService.php b/app/service/admin/OnlineMediasConfigService.php index 1b0682f..9fae18b 100644 --- a/app/service/admin/OnlineMediasConfigService.php +++ b/app/service/admin/OnlineMediasConfigService.php @@ -61,10 +61,11 @@ class OnlineMediasConfigService extends BaseService * @param array $params * @return array */ - public function listData(): array + public function listData($params): array { $query = [ - 'delete_time' => 0 + 'delete_time' => 0, + 'module_id' => $params['module_id'] ]; $list = $this->dao->selectList($query)->toArray(); return TreeUtils::toTree($list); diff --git a/app/service/admin/SelfMediasService.php b/app/service/admin/SelfMediasService.php new file mode 100644 index 0000000..3ee5442 --- /dev/null +++ b/app/service/admin/SelfMediasService.php @@ -0,0 +1,43 @@ +dao = app()->make(SelfMediasDao::class); + } + + /** + * 列表数据 + * @param array $params + * @return array + */ + public function listData(array $params): array + { + [$page, $limit] = RequestUtils::getPageParameter(); + [$sortRule, $sortField] = RequestUtils::getSortParameter(); + $query = [ + 'delete_time' => 0 + ]; + if (sizeof($params['wheres']) > 0) { + foreach ($params['wheres'] as $value) { + if (isNotBlank($value['value'])) { + $query[] = [$value['name'], '=', $value['value']]; + } + } + } + if (isNotBlank($params['name'])) { + $query[] = ['name', 'like', "%{$params['name']}%"]; + } + $list = $this->dao->getList($query, '*', $page, $limit, "$sortField $sortRule"); + $count = $this->dao->getCount($query); + return compact('list', 'count'); + } + +} \ No newline at end of file diff --git a/app/service/user/ApiService.php b/app/service/user/ApiService.php index ee2fd70..cd92802 100644 --- a/app/service/user/ApiService.php +++ b/app/service/user/ApiService.php @@ -3,6 +3,7 @@ namespace app\service\user; use app\dao\admin\OnlineMediasDao; +use app\dao\admin\SelfMediasDao; use app\dao\user\CreationArticleDao; use app\dao\user\CreationArticleReceiveRecordsDao; use plugin\piadmin\app\base\BaseService; @@ -15,12 +16,14 @@ class ApiService extends BaseService protected $appkey = 'de06270f3515bad109aa1fd2c023dd41'; protected $onlineMediasDao; + protected $selfMediasDao; protected $creationArticleDao; protected $creationArticleReceiveRecordsDao; public function __construct() { $this->onlineMediasDao = app()->make(OnlineMediasDao::class); + $this->selfMediasDao = app()->make(SelfMediasDao::class); $this->creationArticleDao = app()->make(CreationArticleDao::class); $this->creationArticleReceiveRecordsDao = app()->make(CreationArticleReceiveRecordsDao::class); } @@ -28,7 +31,14 @@ class ApiService extends BaseService public function receive($params) { $article = $this->creationArticleDao->get($params['article_id']); - $media = $this->onlineMediasDao->get($params['media_id']); + if ($params['model_id'] == 1) { + $media = $this->onlineMediasDao->get($params['media_id']); + } elseif ($params['model_id'] == 2) { + $media = $this->selfMediasDao->get($params['media_id']); + } else { + throw new ApiException('投稿失败'); + } + $time_out = 60; $url = $this->url; //保存投稿记录