12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- namespace App\Admin\Repositories;
- use App\Libraries\RpcClient;
- use App\Models\NullModel as Model;
- use Dcat\Admin\Form;
- use Dcat\Admin\Repositories\EloquentRepository;
- use Dcat\Admin\Show;
- use JsonRPC\Client;
- class RpcAlbum extends EloquentRepository
- {
-
- protected $eloquentClass = Model::class;
- public function execute($method, $params = [])
- {
- return RpcClient::albumExecute($method, $params);
- }
-
- public function getByids($ids)
- {
- return $this->execute('siteAlbumGetByIds', [
- 'ids' => $ids,
- ]);
- }
-
- public function get(Grid\Model|\Dcat\Admin\Grid\Model $model)
- {
-
- $currentPage = $model->getCurrentPage();
-
- $perPage = $model->getPerPage();
-
- $sort = $model->getSort();
- if (empty($sort) == true || $sort[0] == null) {
- $sort = [];
- }
-
- $filterModel = $model->filter()->input('model', '');
- $folder_id = $model->filter()->input('folder_id', '');
- $filter = [
- 'model' => $filterModel,
- 'folder_id' => $folder_id,
- ];
- $result = $this->execute('siteAlbumPaginate', [
- 'filter' => $filter,
- 'sort' => $sort,
- 'perPage'=>$perPage,
- 'page' => $currentPage,
- ]);
- $data = $result['data'] ?? [];
- return $model->makePaginator(
- $data['total'] ?? 0,
- $data['data'] ?? []
- );
- }
-
- public function detail(Show $show): array
- {
-
- $id = $show->getKey();
- $result = $this->execute('siteAlbumGet', [
- 'id' => $id,
- ]);
- $data = $result['data'] ?? [];
- return $data;
- }
- }
|