orderRepository = $orderRepository; $this->orderCardPartitionRepository = $orderCardPartitionRepository; } /** * 订单列表 * * @return void */ public function index(array $conditions = []) { $conditions['type'] = $conditions['type'] ?? 0; $limit = $conditions['limit'] ?? 10; $carrierOperators = app(Dicts::class)->get('carrier_operator'); $res = $this->orderRepository->withConditions($conditions)->applyConditions()->paginate($limit); $res->map(function ($item) use ($carrierOperators) { $item->pay_channel_name = CommonService::namePayChannel($item->pay_channel); $item->company_name = CommonService::company($item->company_id)['name']; $item->package = CommonService::package($item->package_id); $item->package_name = $item->package['name']; $item->carrier_operator_name = $carrierOperators[$item->package['carrier_operator']]; $item->unit_price = sprintf('%.02f', $item->unit_price/100); $item->total_price = sprintf('%.02f', $item->total_price/100); }); return $res; } /** * 获取卡列表 * * @param int $orderId * @return void */ public function cards(array $conditions = []) { $cards = $this->orderCardPartitionRepository->select(['sim', 'virtual_order_id', 'counts']) ->withConditions($conditions)->applyConditions()->get(); $cards->load(['virtual:id,company_id,package_id']); $cards->map(function ($item) { if ($item->virtual) { $item->virtual['company_name'] = CompanyService::load($item->virtual['company_id'])['name']; $item->virtual['package_name'] = PackageService::load($item->virtual['package_id'])['name']; } }); return $cards->sortBy('sim')->values(); } }