156 lines
4.6 KiB
PHP
Executable File
156 lines
4.6 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Caratlane
|
|
*
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This source file is subject to the Caratlane.com license that is
|
|
* available through the world-wide-web at this URL:
|
|
* https://www.Caratlane.com/LICENSE.txt
|
|
*
|
|
* DISCLAIMER
|
|
*
|
|
* Do not edit or add to any file if you wish to upgrade this extension
|
|
* version in the future.
|
|
*
|
|
* @category Caratlane
|
|
* @package Caratlane_NetSuite
|
|
* @copyright Copyright (c) Caratlane (https://www.Caratlane.com/)
|
|
* @license https://www.Caratlane.com/LICENSE.txt
|
|
*/
|
|
|
|
namespace Caratlane\NetSuite\Model\Product;
|
|
|
|
use Magento\Framework\Webapi\Rest\Request;
|
|
use Caratlane\NetSuite\Api\CreateProductInterface;
|
|
use Caratlane\NetSuite\Model\NetsuiteUpdateinvoicepdfFactory;
|
|
use Caratlane\NetSuite\Model\NetSuiteConstants;
|
|
use Caratlane\NetSuite\Helper\Logger;
|
|
use Caratlane\NetSuite\Helper\Data;
|
|
use Magento\Framework\Serialize\Serializer\Json;
|
|
use Magento\Framework\App\ResourceConnection;
|
|
use Magento\Sales\Model\Order\Shipment;
|
|
|
|
class CreateProduct implements CreateProductInterface
|
|
{
|
|
/**
|
|
* @var \Magento\Framework\App\ResourceConnection
|
|
*/
|
|
private $resource;
|
|
|
|
/**
|
|
* @var \Magento\Sales\Model\Order\Shipment
|
|
*/
|
|
private $ordershipment;
|
|
|
|
/**
|
|
* @var \Caratlane\NetSuite\Helper\Logger
|
|
*/
|
|
protected $logger;
|
|
|
|
/**
|
|
* @var \Caratlane\NetSuite\Model\NetsuiteUpdateinvoicepdfFactory
|
|
*/
|
|
private $netsuiteupdateinvoicepdf;
|
|
|
|
/**
|
|
* @var \Magento\Framework\Serialize\Serializer\Json
|
|
*/
|
|
private $json;
|
|
|
|
/**
|
|
* @var \Caratlane\NetSuite\Helper\Data
|
|
*/
|
|
private $helper;
|
|
|
|
/**
|
|
* @var \Magento\Framework\Webapi\Rest\Request
|
|
*/
|
|
private $request;
|
|
|
|
/**
|
|
* @param ResourceConnection $resource
|
|
* @param Shipment $ordershipment
|
|
* @param Data $helper
|
|
* @param Json $json
|
|
* @param Logger $logger
|
|
* @param NetsuiteUpdateinvoicepdfFactory $netsuiteupdateinvoicepdf
|
|
* @param Request $request
|
|
*/
|
|
|
|
public function __construct(
|
|
Request $request,
|
|
ResourceConnection $resource,
|
|
Shipment $ordershipment,
|
|
Data $helper,
|
|
Json $json,
|
|
Logger $logger,
|
|
NetsuiteUpdateinvoicepdfFactory $netsuiteupdateinvoicepdf
|
|
) {
|
|
$this->request = $request;
|
|
$this->resource = $resource;
|
|
$this->ordershipment = $ordershipment;
|
|
$this->helper = $helper;
|
|
$this->json = $json;
|
|
$this->logger = $logger;
|
|
$this->netsuiteupdateinvoicepdf = $netsuiteupdateinvoicepdf;
|
|
}
|
|
|
|
public function createProduct()
|
|
{
|
|
if ($this->helper->getNetSuiteIsEnabled()) {
|
|
|
|
$this->logger->initLog(NetSuiteConstants::NETSUITE_CREATE_UPDATEPDF_LOG_FILENAME);
|
|
$this->logger->writeLog('----------------------------');
|
|
$this->logger->writeLog('Create Product Started');
|
|
$this->logger->writeLog('----------------------------');
|
|
$this->logger->writeLog('');
|
|
|
|
$postData = $this->request->getBodyParams();
|
|
|
|
try {
|
|
if ($postData['sku']) {
|
|
|
|
$this->logger->writeLog('Product Sku: '.$postData['sku']);
|
|
|
|
if (!$postData['sku'] || !$postData['name'] || !$postData['price']) {
|
|
|
|
$this->logger->writeLog('Please add required fields');
|
|
$responseData['success'] = false;
|
|
$responseData['message'] = "Please add required fields";
|
|
return [$responseData];
|
|
}
|
|
|
|
} else {
|
|
$this->logger->writeLog('Sku field can\'t be empty');
|
|
$responseData['success'] = false;
|
|
$responseData['message'] = "Sku field can't be empty";
|
|
}
|
|
|
|
} catch (Exception $e) {
|
|
$responseData['success'] = false;
|
|
$responseData['message'] = 'Exception : '.$e->getMessage();
|
|
$this->logger->writeLog('Exception: '.$e->getMessage());
|
|
}
|
|
|
|
$this->logger->writeLog('');
|
|
$this->logger->writeLog('----------------------------');
|
|
$this->logger->writeLog('Create Product Stopped');
|
|
$this->logger->writeLog('----------------------------');
|
|
}
|
|
return [$responseData];
|
|
}
|
|
|
|
public function getordershipment(string $incrementshipId)
|
|
{
|
|
$shipId = 0;
|
|
try {
|
|
$shipment = $this->ordershipment->loadByIncrementId($incrementshipId);
|
|
$shipId = $shipment->getId();
|
|
return $shipId;
|
|
} catch (Exception $e) {
|
|
return $shipId;
|
|
}
|
|
}
|
|
}
|