I am using sales_order_shipment_save_after
event events for update update order status after shipment.
namespace Tenx\SalesExt\Observer;
use Magento\Framework\Event\ObserverInterface;
/**
* Webkul Marketplace AdminhtmlCustomerSaveAfterObserver Observer.
*/
class SalesOrderShipmentSaveAfter implements ObserverInterface {
public function execute(\Magento\Framework\Event\Observer $observer) {
$shipment = $observer->getEvent()->getShipment();
$order = $shipment->getOrder();
$entity = $order->getId();
$increment_id = $order->getIncrementId();
if(!$order->getId()){
return;
}
try {
$data = array();
$main = array();
$payment_code = $order->getPayment()->getMethodInstance()->getCode();
$payment_title = $order->getPayment()->getMethodInstance()->getTitle();
if(isset($payment_code)){
if($payment_code == 'cashondelivery'){
$this->_resources = \Magento\Framework\App\ObjectManager::getInstance()
->get('Magento\Framework\App\ResourceConnection');
$connection = $this->_resources->getConnection();
$tableName = $this->_resources->getTableName('sales_order');
$sql1 = "Update $tableName SET state = 'pending_payment', status = 'processing_shipped' where entity_id ='" . $entity . "' and increment_id='" . $increment_id . "'";
$connection->query($sql1);
}
else{
echo "payemt method not cod";
}
}
}
}
}
I am getting order id and increment id but I am getting error unknown function getOrder(). Can anyone help me?