init
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace Stemcell\Customer\Plugin;
|
||||
|
||||
use Magento\Customer\Model\Customer\DataProviderWithDefaultAddresses;
|
||||
use Magento\Framework\App\ObjectManager;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Stemcell\Customer\Model\ResourceModel\Salesperson;
|
||||
|
||||
class DataProviderWithDefaultAddressesPlugin
|
||||
{
|
||||
public function __construct(
|
||||
protected Salesperson $salespersonResourceModel,
|
||||
){
|
||||
}
|
||||
|
||||
public function getSalesPerson(int $customerId)
|
||||
{
|
||||
$connection = $this->salespersonResourceModel->getConnection();
|
||||
$query = $connection->query('select salesperson_id from customer_salesperson where customer_id = '. $customerId);
|
||||
$result = $query->fetchAll();
|
||||
if (!empty($result)) {
|
||||
return array_column($result, 'salesperson_id');
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
public function afterGetData(
|
||||
DataProviderWithDefaultAddresses $subject,
|
||||
array $result
|
||||
): array {
|
||||
|
||||
$logger = ObjectManager::getInstance()->get(LoggerInterface::class);
|
||||
|
||||
foreach ($result as $id => $entityData) {
|
||||
if ($id) {
|
||||
|
||||
$result[$id]['customer']['extension_attributes']['customer_abbr'] = $entityData['customer']['customer_abbr'] ?? null;
|
||||
|
||||
$salesperson = $this->getSalesPerson($id);
|
||||
// $logger->warning('$salesperson', $salesperson);
|
||||
if ($salesperson) {
|
||||
$result[$id]['customer']['salespersons'] = $salesperson;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user