Commit 1a39cf31 authored by hj's avatar hj

更新

parent 065ad85c
<?php
/*
* This file is part of the Jiannei/lumen-api-starter.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace App\Finance\Repositories\Eloquent;
use Illuminate\Support\Facades\DB;
use Prettus\Repository\Eloquent\BaseRepository as BaseRepositoryEloquent;
abstract class BaseRepository extends BaseRepositoryEloquent
abstract class BaseRepository extends \App\Repositories\BaseRepository
{
protected function getConnectionName()
{
return app($this->model())->getConnectionName();
}
protected function getTableName()
{
return app($this->model())->getTable();
}
public function getConnection()
{
return DB::connection($this->getConnectionName());
}
public function pagePaginate($data, $total, $request)
{
$pageData = [];
......
<?php
/*
* This file is part of the Jiannei/lumen-api-starter.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace App\Repositories;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Prettus\Repository\Eloquent\BaseRepository as BaseRepositoryEloquent;
abstract class BaseRepository extends BaseRepositoryEloquent
{
public function listPageByPaginate($limit = null, $columns = ['*'], $paginateMethod = 'paginate'): array
{
$paginateResult = $this->paginate($limit,$columns,$paginateMethod);
$paginate = [];
$paginate['data'] = $paginateResult->items();
$paginate['current_page'] = $paginateResult->currentPage();
$paginate['total'] = $paginateResult->total();
return $paginate;
}
public function transformData($datas, $modelName = null)
{
if(is_null($modelName)){
return Arr::pluck($datas, null);
}
return app($modelName)->transform(Arr::pluck($datas, null));
}
public function getConnectionName()
{
return $this->makeModel()->getConnectionName();
}
public function getTableName()
{
return $this->makeModel()->getTable();
}
public function getConnection()
{
return DB::connection($this->getConnectionName());
}
}
......@@ -2,10 +2,10 @@
namespace App\Repositories\Eloquent;
use App\Repositories\BaseRepository;
use App\Repositories\Contracts\ApiPermissionsRepository;
use App\Repositories\Criteria\RequestCriteria;
use App\Repositories\Models\ApiPermissions;
use Illuminate\Support\Facades\DB;
/**
* Class UserRepositoryEloquent.
......
<?php
/*
* This file is part of the Jiannei/lumen-api-starter.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace App\Repositories\Eloquent;
use App\Repositories\Presenters\Presenter;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Arr;
use Prettus\Repository\Eloquent\BaseRepository as BaseRepositoryEloquent;
abstract class BaseRepository extends BaseRepositoryEloquent
{
/**
* @var Presenter
*/
protected $presenter;
/**
* Retrieve all data of repository, simple paginated.
*
* @param null|int $limit
* @param array $columns
* @return mixed
*/
public function cursorPaginate($limit = null, $columns = ['*'])
{
$this->applyCriteria();
$this->applyScope();
$limit = is_null($limit) ? config('repository.pagination.limit', 15) : (int) $limit;
$results = $this->model->select($columns)->limit($limit)->get();
if ($this->model instanceof Builder) {
$primaryKey = $this->model->getModel()->getKeyName();
} else {
$primaryKey = $this->model->getKeyName();
}
$count = $results->count();
$next = $count === $limit ? optional($results->last())->{$primaryKey} : null;
$this->resetModel();
$dataResult = $this->parserResult($results);
$page = request('page')?:1;
//每页的条数
$perPage = $limit;
//计算每页分页的初始位置
$offset = ($page * $perPage) - $perPage;
//实例化Paginator类,(删掉上一步的count($video_list)参数即可 )并传入对应的参数
$data = new LengthAwarePaginator(array_slice($dataResult, $offset, $perPage, true), count($dataResult), $perPage, $page);
return $data;
}
public function customPaginate($limit = null, $columns = ['*'])
{
$paginateResult = $this->paginate($limit,$columns);
$dataList = [];
// 将model对象转换城数组
foreach($paginateResult->items() as $data){
$dataList[] = $data->toArray();
}
$returnRecord = [];
$returnRecord['data'] = $dataList;
$returnRecord['current_page'] = $paginateResult->currentPage();
$returnRecord['total'] = $paginateResult->total();
$returnRecord['page'] = $paginateResult->currentPage() + 1;
if($returnRecord['page'] >= $paginateResult->lastPage()){
$returnRecord['page'] = $paginateResult->lastPage();
}
return $returnRecord;
}
public function transformData($datas, $modelName = null)
{
if(is_null($modelName)){
return Arr::pluck($datas, null);
}
return app($modelName)->transform(Arr::pluck($datas, null));
}
protected function getConnectionName()
{
return app($this->model())->getConnectionName();
}
protected function getTableName()
{
return app($this->model())->getTable();
}
}
......@@ -2,9 +2,9 @@
namespace App\Repositories\Eloquent;
use App\Repositories\BaseRepository;
use App\Repositories\Contracts\KafkaFailQueueRepository;
use App\Repositories\Models\KafkaFailQueue;
use Illuminate\Container\Container as Application;
/**
......
......@@ -2,6 +2,7 @@
namespace App\Repositories\Eloquent;
use App\Repositories\BaseRepository;
use App\Repositories\Contracts\PlatformCustomerRepository;
use App\Repositories\Criteria\RequestCriteria;
use App\Repositories\Models\PlatformCustomer;
......
......@@ -2,12 +2,9 @@
namespace App\Repositories\Eloquent;
use App\Repositories\Contracts\KafkaFailQueueRepository;
use App\Repositories\BaseRepository;
use App\Repositories\Contracts\PlatformDataEntriesRepository;
use App\Repositories\Models\KafkaFailQueue;
use App\Repositories\Models\PlatformDataEntries;
use Illuminate\Container\Container as Application;
/**
* Class UserRepositoryEloquent.
......
......@@ -2,10 +2,9 @@
namespace App\Repositories\Eloquent;
use App\Repositories\BaseRepository;
use App\Repositories\Contracts\SysLogRepository;
use App\Repositories\Criteria\RequestCriteria;
use App\Repositories\Eloquent\BaseRepository;
use App\Repositories\Models\SysLog;
use Prettus\Validator\Contracts\ValidatorInterface;
......
......@@ -2,13 +2,10 @@
namespace App\Repositories\Eloquent;
use App\Repositories\BaseRepository;
use App\Repositories\Contracts\ThirdApiPlatformRepository;
use App\Repositories\Criteria\RequestCriteria;
use App\Repositories\Eloquent\BaseRepository;
use App\Repositories\Models\ThirdApiPlatform;
use Illuminate\Container\Container as Application;
use Prettus\Validator\Contracts\ValidatorInterface;
/**
* Class UserRepositoryEloquent.
......
<?php
/*
* This file is part of the Jiannei/lumen-api-starter.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace App\Rhawn\Repositories\Eloquent;
use Illuminate\Support\Facades\DB;
use Prettus\Repository\Eloquent\BaseRepository as BaseRepositoryEloquent;
abstract class BaseRepository extends BaseRepositoryEloquent
abstract class BaseRepository extends \App\Repositories\BaseRepository
{
protected function getConnectionName(): ?string
{
return $this->makeModel()->getConnectionName();
}
protected function getTableName(): string
{
return $this->makeModel()->getTable();
}
public function getConnection(): \Illuminate\Database\ConnectionInterface
{
return DB::connection($this->getConnectionName());
}
}
......@@ -2,7 +2,7 @@
namespace App\Services\Api\Chemsite;
use App\Repositories\Eloquent\BaseRepository;
use App\Repositories\BaseRepository;
class ChemsiteCustomerService
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment