Skip to content

Commit 83a36bd

Browse files
author
Kallef Alexandre
committed
WIP order
1 parent df530ce commit 83a36bd

File tree

8 files changed

+98
-5
lines changed

8 files changed

+98
-5
lines changed

src/Classes/ModelItemBase.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ abstract class ModelItemBase
77
{
88
use TraitModelBase;
99

10-
public function __construct(\StdClass $data)
10+
public function __construct(\StdClass $data = null)
1111
{
12-
foreach ($this->getAttributeMap() as $attribute => $type) {
13-
$this->{$attribute} = $data->{$attribute};
12+
if ($data) {
13+
foreach ($this->getAttributeMap() as $attribute => $type) {
14+
$this->{$attribute} = $data->{$attribute};
15+
}
1416
}
1517
}
1618

src/Classes/TraitModelBase.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
namespace Mitryusweb\Classes;
44

55

6+
use Illuminate\Support\Arr;
7+
68
trait TraitModelBase
79
{
810
protected $attributeMap = [];
@@ -43,6 +45,11 @@ public function __call($name, $arguments)
4345
$attribute = ltrim($name, 'get');
4446
return $this->{snake_case($attribute)};
4547
}
48+
49+
if (strpos($name, 'set') === 0) {
50+
$attribute = ltrim($name, 'set');
51+
$this->{snake_case($attribute)} = Arr::first($arguments);
52+
}
4653
}
4754

4855
/**

src/Endpoints/Pedidos.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Pedidos extends EndpointBase
1313
public function create(Pedido $pedido)
1414
{
1515
$response = $this->request('POST', 'pedido', [
16-
'body' => $pedido->toArray()
16+
'json' => $pedido->toArray()
1717
])->getResponse();
1818

1919
return $response;

src/Model/Pedido/Pagamento.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
4+
namespace Mitryusweb\Model\Pedido;
5+
6+
use Mitryusweb\Classes\ModelItemBase;
7+
8+
/**
9+
* Class Pagamento
10+
* @package Mitryusweb\Model\Pedido
11+
*/
12+
class Pagamento extends ModelItemBase
13+
{
14+
protected $attributeMap = [
15+
"tipo_pagamento" => "String",
16+
"valor_pagamento" => "Float",
17+
"token" => "String",
18+
"data_pagamento" => "Date",
19+
"status" => "String",
20+
"inf_pagamento" => "String",
21+
"numero_parcelas" => "Integer",
22+
"bandeira" => "String",
23+
];
24+
}

src/Model/Pedido/Pagamentos.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
4+
namespace Mitryusweb\Model\Pedido;
5+
6+
use Mitryusweb\Classes\ModelCollectionBase;
7+
8+
class Pagamentos extends ModelCollectionBase
9+
{
10+
protected $itemAttributeModel = [
11+
"Pagamentos" => Pagamento::class,
12+
];
13+
14+
protected $attributeMap = [
15+
"Pagamentos" => "Collection",
16+
];
17+
}

src/Model/Pedido/Pedido.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
namespace Mitryusweb\Model\Pedido;
55

66
use Mitryusweb\Classes\ModelItemBase;
7+
use Mitryusweb\Model\Produto;
78

89
/**
910
* Class Pedido
@@ -12,7 +13,9 @@
1213
class Pedido extends ModelItemBase
1314
{
1415
protected $itemAttributeModel = [
15-
'cliente' => Cliente::class
16+
'cliente' => Cliente::class,
17+
'produtos' => Produto::class,
18+
'pagamentos' => Pagamento::class,
1619
];
1720

1821
protected $attributeMap = [

src/Model/Pedido/Produto.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
4+
namespace Mitryusweb\Model\Pedido;
5+
6+
use Mitryusweb\Classes\ModelItemBase;
7+
8+
/**
9+
* Class Produto
10+
* @package Mitryusweb\Model\Pedido
11+
*/
12+
class Produto extends ModelItemBase
13+
{
14+
protected $attributeMap = [
15+
"cod_barras" => "String",
16+
"valor" => "Float",
17+
"frete" => "Float",
18+
"seguro" => "Float",
19+
"desconto" => "Float",
20+
"outros" => "Float",
21+
"quantidade" => "Float",
22+
];
23+
}

src/Model/Pedido/Produtos.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
4+
namespace Mitryusweb\Model\Pedido;
5+
6+
use Mitryusweb\Classes\ModelCollectionBase;
7+
8+
class Produtos extends ModelCollectionBase
9+
{
10+
protected $itemAttributeModel = [
11+
"Produtos" => Produto::class,
12+
];
13+
14+
protected $attributeMap = [
15+
"Produtos" => "Collection",
16+
];
17+
}

0 commit comments

Comments
 (0)