Files
2026-09-15 10:26:34 +08:00

39 lines
1.4 KiB
PHP

<?php
namespace Stemcell\Customer\Observer;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
use Psr\Log\LoggerInterface;
use Stemcell\Customer\Model\ResourceModel\Salesperson;
class SalespersonsCustomerSave implements ObserverInterface
{
public function __construct(
protected Salesperson $salespersonResourceModel,
){
}
public function execute(Observer $observer)
{
/* @var $request \Magento\Framework\App\RequestInterface */
$request = $observer->getData('request');
/* @var $request \Magento\Customer\Api\Data\CustomerInterface */
$customer = $observer->getData('customer');
$salesperson = $request->getParam('customer');
$connection = $this->salespersonResourceModel->getConnection();
if (isset($salesperson['salespersons']) && is_array($salesperson['salespersons'])) {
$data = [];
foreach ($salesperson['salespersons'] as $item) {
$data[] = ['customer_id' => $customer->getId(), 'salesperson_id' => $item];
}
$connection->beginTransaction();
$connection->delete('customer_salesperson', 'customer_id = '. $customer->getId());
$connection->insertMultiple('customer_salesperson', $data);
$connection->commit();
}
}
}