vd/app/Domains/Company/Http/Controllers/CardController.php
2019-03-18 11:55:39 +08:00

46 lines
1.5 KiB
PHP

<?php
namespace App\Domains\Company\Http\Controllers;
use App\Core\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use App\Domains\Virtual\Repositories\OrderCardPartitionRepository;
class CardController extends Controller
{
protected $request;
protected $account;
protected $orderCardPartitionRepository;
/**
* 构造函数,自动注入.
*/
public function __construct(Request $request, OrderCardPartitionRepository $orderCardPartitionRepository)
{
$this->request = $request;
$this->account = $request->user('company');
$this->orderCardPartitionRepository = $orderCardPartitionRepository;
}
/**
* 订单列表
*/
public function index()
{
$conditions = $this->request->all();
$conditions['company_id'] = $this->account->company_id;
$conditions['type'] = [0, 1];
$limit = $conditions['limit'] ?? 20;
$cards = $this->orderCardPartitionRepository->selectRaw('distinct on (sim) sim')->withConditions($conditions)->paginate($limit);
$services = $this->orderCardPartitionRepository->select('MIN(service_start_at),MAX(service_end_at)')
->withConditions(['sim' => $cards->pluck('sim')->toArray()])->groupBy('sim')->get();
$time = Carbon::now()->format('Y-m-d H:i:s');
$packages = $this->orderCardPartitionRepository->selectRaw('distinct on (sim) package_id')
->where('service_start_at', '<=', $time);
}
}