加快load速度
This commit is contained in:
parent
0127e44de5
commit
d3711a5010
@ -92,10 +92,10 @@ class OrderController extends Controller
|
||||
$orderStatues = $dicts->get('order_status');
|
||||
$transactionStatuses = $dicts->get('company_transaction_status');
|
||||
|
||||
$order->package = PackageService::load($order->package_id);
|
||||
$package = PackageService::load($order->package_id);
|
||||
|
||||
$order->pay_channel = CommonService::namePayChannel($order->pay_channel);
|
||||
$order->carrier_operator = $carrierOperators[$order->package->carrier_operator];
|
||||
$order->carrier_operator = $carrierOperators[$package['carrier_operator']];
|
||||
$order->order_status = $order->order_status;
|
||||
$order->order_status_name = $orderStatues[$order->order_status];
|
||||
$order->transaction_status = $order->transaction_status;
|
||||
|
@ -89,13 +89,13 @@ class OrderService extends Service
|
||||
|
||||
Log::info('1', [microtime(true)]);
|
||||
|
||||
$cards = $this->orderCardPartitionRepository->withVirtual($conditions)->currentModel()->get();
|
||||
$cards = $this->orderCardPartitionRepository->withVirtual($conditions)->currentModel()->get()->toArray();
|
||||
|
||||
Log::info('2', [microtime(true)]);
|
||||
|
||||
$tmpCards = $cards->groupBy('virtual_order_id');
|
||||
$tmpCards = array_groupBy($cards, 'virtual_order_id');
|
||||
|
||||
$orderIds = $tmpCards->keys()->unique()->toArray();
|
||||
$orderIds = array_unique(array_keys($tmpCards));
|
||||
|
||||
$key = array_search(0, $orderIds);
|
||||
|
||||
@ -108,28 +108,33 @@ class OrderService extends Service
|
||||
$virtualOrders = [];
|
||||
// 有订单的从订单中读取公司和套餐
|
||||
if (!empty($orderIds)) {
|
||||
$virtualOrders = app(VirtualOrderRepository::class)->withConditions(['id' => $orderIds])->get()->keyBy('id');
|
||||
$virtualOrders = app(VirtualOrderRepository::class)->withConditions(['id' => $orderIds])->get()->keyBy('id')->toArray();
|
||||
}
|
||||
|
||||
Log::info('4', [microtime(true)]);
|
||||
|
||||
foreach ($cards as &$item) {
|
||||
$item->sim = (string)$item->sim;
|
||||
$item->company_id = $item->company_id ?? 0;
|
||||
$item->package_id = $item->package_id ?? 0;
|
||||
$companyService = app(CompanyService::class);
|
||||
$packageService = app(PackageService::class);
|
||||
|
||||
if ($item->virtual_order_id) {
|
||||
$virtual = $virtualOrders[$item->virtual_order_id];
|
||||
$item->company_id = $virtual['company_id'];
|
||||
$item->package_id = $virtual['package_id'];
|
||||
foreach ($cards as &$item) {
|
||||
$item['sim'] = (string)$item['sim'];
|
||||
$item['company_id'] = $item['company_id'] ?? 0;
|
||||
$item['package_id'] = $item['package_id'] ?? 0;
|
||||
|
||||
if ($item['virtual_order_id']) {
|
||||
$virtual = $virtualOrders[$item['virtual_order_id']];
|
||||
$item['company_id'] = $virtual['company_id'];
|
||||
$item['package_id'] = $virtual['package_id'];
|
||||
}
|
||||
|
||||
$item->company_name = !$item->company_id ? '' : CompanyService::load($item->company_id)['name'] ?? '';
|
||||
$item->package_name = !$item->package_id ? '' : PackageService::load($item->package_id)['name'] ?? '';
|
||||
$item['company_name'] = !$item['company_id'] ? '' : $companyService->load($item['company_id'])['name'] ?? '';
|
||||
$item['package_name'] = !$item['package_id'] ? '' : $packageService->load($item['package_id'])['name'] ?? '';
|
||||
}
|
||||
|
||||
Log::info('5', [microtime(true)]);
|
||||
|
||||
return $cards->sortBy('sim')->sortBy('order_id')->values();
|
||||
return array_values(array_sort($cards, function ($value) {
|
||||
return $value['order_id'] . '-' . $value['sim'];
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ class CompanyService extends Service
|
||||
public static function load($id)
|
||||
{
|
||||
if (!self::$companies) {
|
||||
self::$companies = app(CompanyRepository::class)->select(['id', 'name', 'status'])->withTrashed()->get()->keyBy('id');
|
||||
self::$companies = app(CompanyRepository::class)->select(['id', 'name', 'status'])->withTrashed()->get()->keyBy('id')->toArray();
|
||||
}
|
||||
|
||||
return self::$companies[$id];
|
||||
|
Loading…
x
Reference in New Issue
Block a user