mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
Order APIs & Unity services
This commit is contained in:
@@ -44,4 +44,4 @@ class CreateOrderStepsProcessor
|
||||
return $this->createsOrderSteps->execute($order_steps_object);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Processors;
|
||||
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\Processors\UpdatesOrderCurrentStepProcessor;
|
||||
use App\Classes\Modules\OrderSteps\Processors\UpdateOrderStepsProcessor;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\OrderSteps\Services\FetchesOrderSteps;
|
||||
use App\Classes\Modules\Orders\Services\UpdatesCurrentStep;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Classes\Modules\OrderSteps\Services\CreatesManyOrderSteps;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
use App\Classes\Modules\Unity\Processors\GetContractObligationsProcessor;
|
||||
use App\Models\Order;
|
||||
use App\Models\OrderStep;
|
||||
use App\Classes\Jobs\UnityLogin;
|
||||
use Config;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
|
||||
class GenerateOrderStepsProcessor
|
||||
{
|
||||
private $updatesOrderCurrentStep;
|
||||
|
||||
private $createsManyOrderStep;
|
||||
|
||||
private $unityConfig;
|
||||
|
||||
private $updateOrderStepProcessors;
|
||||
|
||||
private $getContractObligationsProcessor;
|
||||
|
||||
public function __construct(UpdatesOrderCurrentStepProcessor $updatesOrderCurrentStep, CreatesManyOrderSteps $createsManyOrderStep, UpdateOrderStepsProcessor $updateOrderStepProcessors, GetContractObligationsProcessor $getContractObligationsProcessor)
|
||||
{
|
||||
$this->updatesOrderCurrentStep = $updatesOrderCurrentStep;
|
||||
$this->unityConfig = Config::get('unity');
|
||||
$this->createsManyOrderStep = $createsManyOrderStep;
|
||||
$this->updateOrderStepProcessors = $updateOrderStepProcessors;
|
||||
$this->getContractObligationsProcessor = $getContractObligationsProcessor;
|
||||
}
|
||||
|
||||
public function execute(Order $order){
|
||||
|
||||
$obligations = $this->getContractObligationsProcessor->execute();
|
||||
|
||||
foreach($obligations as $step){
|
||||
$orderSteps[] = new OrderStepsObject(
|
||||
$order->id,
|
||||
1,
|
||||
$step->name,
|
||||
true,
|
||||
$step->sequence,
|
||||
0,
|
||||
0,
|
||||
null
|
||||
);
|
||||
}
|
||||
|
||||
$this->createsManyOrderStep->execute($order, $orderSteps);
|
||||
|
||||
$this->updatesOrderCurrentStep->execute($order->id, OrderSteps::PACKING);
|
||||
|
||||
$this->updateOrderStepProcessors->execute(OrderSteps::PROCESSING);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Processors;
|
||||
namespace App\Classes\Modules\OrderSteps\Processors\Steps;
|
||||
|
||||
|
||||
use App\Classes\Modules\ControllerLogic\Exceptions\InternalServerErrorException;
|
||||
@@ -53,4 +53,4 @@ class ConfirmsOrder extends AbstractStepProcessor
|
||||
return $this->handler($this->orderId, $this->step);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ namespace App\Classes\Modules\OrderSteps\Processors;
|
||||
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\Processors\UpdatesOrderCurrentStepProcessor;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\OrderSteps\Services\FetchesOrderSteps;
|
||||
use App\Classes\Modules\OrderSteps\Services\UpdatesOrderSteps;
|
||||
use App\Classes\Modules\Orders\Services\UpdatesCurrentStep;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
|
||||
use App\Classes\Modules\OrderSteps\Standards\Rules\CanUpdateOrderStep;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
@@ -16,35 +16,28 @@ use App\Models\OrderStep;
|
||||
|
||||
class UpdateOrderStepsProcessor
|
||||
{
|
||||
private $canUpdateCurrentStep;
|
||||
private $canUpdateOrderStep;
|
||||
|
||||
private $updatesOrderCurrentStep;
|
||||
|
||||
private $fetchesOrder;
|
||||
private $updatesOrderSteps;
|
||||
|
||||
private $fetchesOrderSteps;
|
||||
|
||||
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStepProcessor $updatesOrderCurrentStep )
|
||||
public function __construct(CanUpdateOrderStep $canUpdateOrderStep, UpdatesOrderSteps $updatesOrderSteps, FetchesOrderSteps $fetchesOrderSteps )
|
||||
{
|
||||
$this->canUpdateCurrentStep = $canUpdateCurrentStep;
|
||||
$this->updatesOrderCurrentStep = $updatesOrderCurrentStep;
|
||||
$this->fetchesOrder = $fetchesOrder;
|
||||
$this->canUpdateOrderStep = $canUpdateOrderStep;
|
||||
$this->updatesOrderSteps = $updatesOrderSteps;
|
||||
$this->fetchesOrderSteps = $fetchesOrderSteps;
|
||||
}
|
||||
|
||||
public function execute(int $orderId, string $currentStep){
|
||||
public function execute(string $currentStep){
|
||||
|
||||
$order_object = new OrderStepsObject($currentStep, 0, $currentStep, 0, 0, OrderStatus::PROCESSING, 0, null);
|
||||
$orderStepsObject = new OrderStepsObject(0,0,$currentStep, 0, 0, 1, 1, null);
|
||||
|
||||
$this->canUpdateCurrentStep->passes($order_object);
|
||||
|
||||
$order = $this->fetchesOrder->execute(['id'=>$order_object->getId()]);
|
||||
|
||||
$order_steps = $this->fetchesOrderSteps->execute(['order_id'=>$order_object->getId(), 'status'=> OrderStatus::PROCESSING, 'order_by' => 'sequence', 'per_page' => 1]);
|
||||
|
||||
$this->updatesOrderCurrentStep->execute($orderId, $currentStep);
|
||||
$this->canUpdateOrderStep->passes($orderStepsObject);
|
||||
|
||||
$orderSteps = $this->fetchesOrderSteps->execute(['reference'=>$currentStep]);
|
||||
|
||||
$this->updatesOrderSteps->execute($orderSteps, $orderStepsObject);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\OrderStep;
|
||||
use App\Models\Order;
|
||||
|
||||
class CreatesManyOrderSteps extends AbstractUpdateRecord
|
||||
{
|
||||
|
||||
public function execute(Order $order, array $orderSteps) {
|
||||
|
||||
$orderStepsModel=[];
|
||||
foreach($orderSteps as $step){
|
||||
$orderStepsModel[]=[
|
||||
'order_id' => $step->getOrderId(),
|
||||
'appointee_id' => $step->getAppointeeId(),
|
||||
'reference' => $step->getReference(),
|
||||
'primary' => $step->getPrimary(),
|
||||
'sequence' => $step->getSequence(),
|
||||
'status' => 0,
|
||||
'contract_status' => 0
|
||||
];
|
||||
}
|
||||
$order->orderSteps()->createMany($orderStepsModel);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -5,22 +5,25 @@ namespace App\Classes\Modules\OrderSteps\Services;
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\OrderStep;
|
||||
use App\Models\Order;
|
||||
|
||||
class CreatesOrderSteps extends AbstractUpdateRecord
|
||||
{
|
||||
|
||||
public function execute(OrderStepsObject $object) {
|
||||
public function execute(OrderStepsObject $orderSteps) {
|
||||
|
||||
$model = new OrderStep();
|
||||
$model->order_id = $object->getOrderId();
|
||||
$model->appointee_id = $object->getAppointeeId();
|
||||
$model->reference = $object->getReference();
|
||||
$model->primary = $object->getPrimary();
|
||||
$model->sequence = $object->getSequence();
|
||||
$model->status = $object->getStatus();
|
||||
$model->contract_status = $object->getContractStatus();
|
||||
$orderStepsModel = new OrderStep();
|
||||
|
||||
return $this->handler($model);
|
||||
$orderStepsModel->order_id = $orderSteps->getOrderId();
|
||||
$orderStepsModel->appointee_id = $orderSteps->getAppointeeId();
|
||||
$orderStepsModel->reference = $orderSteps->getReference();
|
||||
$orderStepsModel->primary = $orderSteps->getPrimary();
|
||||
$orderStepsModel->sequence = $orderSteps->getSequence();
|
||||
$orderStepsModel->status = 0;
|
||||
$orderStepsModel->contract_status = 0;
|
||||
$orderStepsModel->complete_date = null;
|
||||
|
||||
return $this->handler($orderStepsModel);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,17 +4,13 @@ namespace App\Classes\Modules\OrderSteps\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Classes\Modules\OrderSteps\DataTransferObjects\OrderStepsObject;
|
||||
use App\Models\Order;
|
||||
use App\Models\OrderStep;
|
||||
|
||||
class UpdatesOrderSteps extends AbstractUpdateRecord
|
||||
{
|
||||
|
||||
public function execute(Order $model, OrderStepsObject $object) {
|
||||
public function execute(OrderStep $model, OrderStepsObject $object) {
|
||||
|
||||
$model->appointee_id = $object->getAppointeeId();
|
||||
$model->reference = $object->getReference();
|
||||
$model->primary = $object->getPrimary();
|
||||
$model->sequence = $object->getSequence();
|
||||
$model->status = $object->getStatus();
|
||||
$model->contract_status = $object->getContractStatus();
|
||||
$model->complete_date = $object->getCompletedDate();
|
||||
|
||||
@@ -15,7 +15,6 @@ class UpdateOrderStepValidation extends AbstractValidation
|
||||
{
|
||||
return [
|
||||
'id' => $object->getId(),
|
||||
'current_step' => $object->getCurrentStep(),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -25,10 +24,7 @@ class UpdateOrderStepValidation extends AbstractValidation
|
||||
*/
|
||||
protected function rules(?string $type = 'POST'): array
|
||||
{
|
||||
return [
|
||||
'id'=> 'required|numeric',
|
||||
'current_step'=> 'required',
|
||||
];
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,41 +5,47 @@ namespace App\Classes\Modules\Orders\ControllersLogic;
|
||||
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\Services\CreatesOrder;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanCreateOrder;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanConfirmOrder;
|
||||
use App\Classes\Modules\OrderSteps\Processors\GenerateOrderStepsProcessor;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
use App\Classes\ValueObjects\Constants\OrderType;
|
||||
use App\Http\Resources\OrderResource;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Config;
|
||||
|
||||
class ConfirmOrderLogic extends AbstractControllerLogic
|
||||
{
|
||||
private $canConfirmOrder;
|
||||
|
||||
private $canCreateOrder;
|
||||
private $generateOrderStepsProcessor;
|
||||
|
||||
private $createsOrder;
|
||||
|
||||
public function __construct(CanCreateOrder $canCreateOrder, CreatesOrder $createsOrder)
|
||||
public function __construct(CanConfirmOrder $canConfirmOrder, GenerateOrderStepsProcessor $generateOrderStepsProcessor, FetchesOrder $fetchesOrder)
|
||||
{
|
||||
$this->canCreateOrder = $canCreateOrder;
|
||||
$this->createsOrder = $createsOrder;
|
||||
$this->canConfirmOrder = $canConfirmOrder;
|
||||
$this->generateOrderStepsProcessor = $generateOrderStepsProcessor;
|
||||
$this->fetchesOrder = $fetchesOrder;
|
||||
}
|
||||
|
||||
protected function notification():array {
|
||||
return [
|
||||
'title' => 'Created Order',
|
||||
'message' => 'You have successfully created a new Order'
|
||||
'title' => 'Confirm Order',
|
||||
'message' => 'Order confirmed'
|
||||
];
|
||||
}
|
||||
|
||||
public function logic(Request $request) : JsonResponse {
|
||||
$order_object = new OrderObject($request->get('company_module_id'), '', '', OrderType::SHARED_CONTAINER, OrderStatus::PROCESSING, OrderSteps::PROCESSING);
|
||||
|
||||
$this->canCreateOrder->passes($order_object);
|
||||
$order_object = new OrderObject(0,'','',0,0, '',$request->get('id'));
|
||||
|
||||
$order = $this->createsOrder->execute($order_object);
|
||||
$this->canConfirmOrder->passes($order_object);
|
||||
|
||||
$order = $this->fetchesOrder->execute(['id'=>$order_object->getId()]);
|
||||
|
||||
$this->generateOrderStepsProcessor->execute($order);
|
||||
|
||||
return $this->resourceResponse(new OrderResource($order));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ class OrderObject implements DataTransferObject
|
||||
|
||||
private $current_step;
|
||||
|
||||
public function __construct(int $company_module_id, string $reference, string $reference_contract, int $type, int $status, string $current_step, int $id=0)
|
||||
public function __construct(int $company_module_id, ?string $reference, string $reference_contract, int $type, int $status, string $current_step, int $id=0)
|
||||
{
|
||||
$this->company_module_id = $company_module_id;
|
||||
$this->reference = $reference;
|
||||
@@ -71,4 +71,4 @@ class OrderObject implements DataTransferObject
|
||||
{
|
||||
$this->current_step = $step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
use App\Classes\Modules\Orders\Services\FetchesOrder;
|
||||
use App\Classes\Modules\OrderSteps\Services\FetchesOrderSteps;
|
||||
use App\Classes\Modules\Orders\Standards\Rules\CanUpdateCurrentStep;
|
||||
use App\Classes\Modules\OrderSteps\Processors\UpdateOrderStepsProcessor;
|
||||
use App\Classes\ValueObjects\Constants\OrderStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderSteps;
|
||||
use App\Models\Order;
|
||||
@@ -21,12 +22,15 @@ class ConfirmOrderProcessor
|
||||
|
||||
private $fetchesOrderSteps;
|
||||
|
||||
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStep $updatesCurrentStep)
|
||||
private $updateOrderStepProcessors;
|
||||
|
||||
public function __construct(CanUpdateCurrentStep $canUpdateCurrentStep, FetchesOrder $fetchesOrder, FetchesOrderSteps $fetchesOrderSteps, UpdatesOrderCurrentStep $updatesCurrentStep, UpdateOrderStepsProcessor $updateOrderStepProcessors)
|
||||
{
|
||||
$this->canUpdateCurrentStep = $canUpdateCurrentStep;
|
||||
$this->updatesCurrentStep = $updatesCurrentStep;
|
||||
$this->fetchesOrder = $fetchesOrder;
|
||||
$this->fetchesOrderSteps = $fetchesOrderSteps;
|
||||
$this->updateOrderStepProcessors = $updateOrderStepProcessors;
|
||||
}
|
||||
|
||||
public function execute(int $orderId, string $currentStep){
|
||||
@@ -43,7 +47,7 @@ class ConfirmOrderProcessor
|
||||
|
||||
$order = $this->updatesCurrentStep->execute($order, $order_object);
|
||||
|
||||
|
||||
$this->updateOrderStepProcessors->execute($currentStep);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,5 @@ class UpdatesOrderCurrentStepProcessor
|
||||
|
||||
$order = $this->updatesCurrentStep->execute($order, $order_object);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Standards\Rules;
|
||||
|
||||
use App\Classes\General\Abstracts\AbstractRule;
|
||||
use App\Classes\Modules\Orders\Standards\Validators\ConfirmOrderValidation;
|
||||
|
||||
class CanConfirmOrder extends AbstractRule
|
||||
{
|
||||
private $confirmOrderValidation;
|
||||
|
||||
public function __construct(ConfirmOrderValidation $confirmOrderValidation)
|
||||
{
|
||||
$this->confirmOrderValidation = $confirmOrderValidation;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
protected function authorized(): bool
|
||||
{
|
||||
// TODO Set Authorization rules
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function validators($object): bool
|
||||
{
|
||||
return $this->confirmOrderValidation->validate($object);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param CompanyObject $object
|
||||
* @return bool
|
||||
*/
|
||||
protected function criteria($object): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Standards\Validators;
|
||||
|
||||
use App\Classes\General\Abstracts\AbstractValidation;
|
||||
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
|
||||
|
||||
class ConfirmOrderValidation extends AbstractValidation
|
||||
{
|
||||
/**
|
||||
* @param OrderObject $object
|
||||
* @return array
|
||||
*/
|
||||
protected function data($object): array
|
||||
{
|
||||
return [
|
||||
'id' => $object->getId(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $type
|
||||
* @return array
|
||||
*/
|
||||
protected function rules(?string $type = 'POST'): array
|
||||
{
|
||||
|
||||
return [
|
||||
'id' => 'required|exists:orders,id'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
protected function messages(): array
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Unity\Processors;
|
||||
|
||||
use Config;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use App\Classes\Modules\Unity\Services\GetContractObligations;
|
||||
|
||||
class GetContractObligationsProcessor
|
||||
{
|
||||
private $unityConfig;
|
||||
|
||||
private $GetContractObligations;
|
||||
|
||||
public function __construct(GetContractObligations $getContractObligations)
|
||||
{
|
||||
$this->unityConfig = Config::get('unity');
|
||||
$this->getContractObligations = $getContractObligations;
|
||||
}
|
||||
|
||||
public function execute(){
|
||||
return $this->getContractObligations->execute();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Unity\Services;
|
||||
|
||||
use Config;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
class GetAccessToken
|
||||
{
|
||||
private $unityConfig;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->unityConfig = Config::get('unity');
|
||||
}
|
||||
|
||||
public function execute(){
|
||||
|
||||
//TODO: Cache access token base on expiry for login version
|
||||
|
||||
$accesToken='';
|
||||
if($this->unityConfig['default_auth']=='login'){
|
||||
$loginDetails = $this->unityConfig['auth']['login'];
|
||||
$response = Http::post($this->unityConfig['url'].$loginDetails['endpoint'], [
|
||||
'email' => $loginDetails['username'],
|
||||
'password' => $loginDetails['password'],
|
||||
])->object();
|
||||
$accesToken = $response->access_token;
|
||||
}else{
|
||||
$accesToken = $this->unityConfig['auth']['api_key']['key'];
|
||||
}
|
||||
|
||||
//TODO: Throw error if access token not available
|
||||
|
||||
return $accesToken;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Unity\Services;
|
||||
|
||||
use Config;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use App\Classes\Modules\Unity\Services\GetAccessToken;
|
||||
|
||||
class GetContractObligations
|
||||
{
|
||||
private $unityConfig;
|
||||
|
||||
private $getAccessToken;
|
||||
|
||||
public function __construct(GetAccessToken $getAccessToken)
|
||||
{
|
||||
$this->unityConfig = Config::get('unity');
|
||||
$this->getAccessToken = $getAccessToken;
|
||||
}
|
||||
|
||||
public function execute(){
|
||||
|
||||
$accesToken=$this->getAccessToken->execute();
|
||||
|
||||
$response = Http::withToken($accesToken)->get($this->unityConfig['url'].$this->unityConfig['steps_endpoint'])->object();
|
||||
$orderSteps = [];
|
||||
|
||||
return (isset($response->data)) ? $response->data : [];
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\ValueObjects\Constants;
|
||||
|
||||
final class OrderEntity {
|
||||
|
||||
public const WAREHOUSE_MALAYSIA = "Warehouse Malaysia";
|
||||
|
||||
public const WAREHOUSE_YIWU = "Warehouse Yiwu";
|
||||
|
||||
public const WAREHOUSE_GUANG_ZHOU = "Warehouse Guang Zhou";
|
||||
|
||||
public const SUPPLIER = "Supplier";
|
||||
|
||||
}
|
||||
@@ -4,15 +4,15 @@ namespace App\Classes\ValueObjects\Constants;
|
||||
|
||||
final class OrderSteps
|
||||
{
|
||||
public const PROCESSING = 'PS_PROCESSING';
|
||||
public const PACKING = 'PS_PACKING';
|
||||
public const SHIPPING = 'PS_SHIPPING';
|
||||
public const DELIVERY = 'PS_DELIVERY';
|
||||
public const PROCESSING = 'PROCESSING';
|
||||
public const PACKING = 'PACKING';
|
||||
public const SHIPPING = 'SHIPPING';
|
||||
public const DELIVERY = 'DELIVERY';
|
||||
|
||||
public const WAREHOUSE_RECEIVING = 'MS_WAREHOUSE_RECEIVING';
|
||||
public const WAREHOUSE_LOAD_CONTAINER = 'MS_WAREHOUSE_LOAD_CONTAINER';
|
||||
public const WAREHOUSE_ARRIVAL = 'MS_WAREHOUSE_ARRIVAL';
|
||||
public const WAREHOUSE_UNLOAD_CONTAINER = 'MS_WAREHOUSE_UNLOAD_CONTAINER';
|
||||
public const WAREHOUSE_RECEIVING = 'WAREHOUSE_RECEIVING';
|
||||
public const WAREHOUSE_LOAD_CONTAINER = 'WAREHOUSE_LOAD_CONTAINER';
|
||||
public const WAREHOUSE_ARRIVAL = 'WAREHOUSE_ARRIVAL';
|
||||
public const WAREHOUSE_UNLOAD_CONTAINER = 'WAREHOUSE_UNLOAD_CONTAINER';
|
||||
|
||||
/*
|
||||
public const COMPANY_PROCESSING_CATEGORY = 'processing';
|
||||
@@ -158,4 +158,4 @@ final class OrderSteps
|
||||
OrderSteps::ORDER_DELIVERY_STEP => DeliverOrder::class,
|
||||
];
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,8 +13,9 @@ class ConfirmOrderController
|
||||
* @param ConfirmOrderLogic $logic
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function confirm(Request $request, ConfirmOrderLogic $logic): JsonResponse
|
||||
public function confirm(int $id, Request $request, ConfirmOrderLogic $logic): JsonResponse
|
||||
{
|
||||
$request->merge(['id' => $id]);
|
||||
return $logic->execute($request);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,4 +12,5 @@ class OrderStep extends AbstractModel
|
||||
|
||||
protected $dates = ['deleted_at'];
|
||||
|
||||
protected $fillable = ['order_id','appointee_id','reference','primary','sequence','status','contract_status','complete_date'];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'url' => env('UNITY_API_URL', 'https://dev.unity.izyim.com/user-backsys/api/'),
|
||||
|
||||
'auth' => [
|
||||
|
||||
'api_key' => [
|
||||
'key' => env('UNITY_API_KEY', ''),
|
||||
],
|
||||
|
||||
'login' => [
|
||||
'username' => env('UNITY_LOGIN_USERNAME','one@izyim.com'),
|
||||
'password' => env('UNITY_LOGIN_PASSWORD','pass123'),
|
||||
'endpoint' => env('UNITY_LOGIN_ENDPOINT','login')
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
'steps_endpoint' => env('UNITY_LOGIN_ENDPOINT','contract-template-obligation/list'),
|
||||
|
||||
'default_auth' => env('UNITY_AUTH','login'),
|
||||
|
||||
'on_error_email' => env('UNITY_ON_ERROR_EMAIL','dev@shipping.com,dev@unity.com'),
|
||||
|
||||
'contract_template_id' => env('UNITY_CONTRACT_TEMPLATE_ID', 102),
|
||||
|
||||
'contract_template_cache' => env('UNITY_CONTRACT_TEMPLATE_CACHE','60'),
|
||||
|
||||
'entity' => [
|
||||
'xxx' => App\Classes\ValueObjects\Constants\OrderEntity::SUPPLIER,
|
||||
'zzz' => App\Classes\ValueObjects\Constants\OrderEntity::WAREHOUSE_YIWU,
|
||||
'vvv' => App\Classes\ValueObjects\Constants\OrderEntity::WAREHOUSE_GUANG_ZHOU,
|
||||
'wwww' => App\Classes\ValueObjects\Constants\OrderEntity::SUPPLIER,
|
||||
],
|
||||
|
||||
'step_processor' => [
|
||||
App\Classes\ValueObjects\Constants\OrderSteps::PACKING => App\Classes\Modules\OrderSteps\Processors\Steps\Packing::class,
|
||||
],
|
||||
|
||||
];
|
||||
@@ -93,7 +93,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/order/{id}/confirm": {
|
||||
"/order/confirm/{id}": {
|
||||
"put": {
|
||||
"tags": [
|
||||
"Order"
|
||||
@@ -101,7 +101,7 @@
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"operationId": "createOrder",
|
||||
"operationId": "confirmOrder",
|
||||
"summary": "Admin confirms order",
|
||||
"description": "",
|
||||
"parameters": [
|
||||
|
||||
Reference in New Issue
Block a user