<?php
namespace jd_vop\request\order;
class GetFreightSkus
{
public $list;
public function __construct()
{
$this->list = [];
}
public function add(int $skuId, int $num = 1): bool
{
$flag = false;
foreach ($this->list as $v) {
if ($v instanceof GetFreightSku) {
if ($v->getSkuId() == $skuId) {
$v->setNum($v->getNum() + $num);
$flag = true;
break;
}
}
}
if (!$flag) {
if (count($this->list) < 50) {
$this->list[] = new GetFreightSku($skuId, $num);
$flag = true;
}
}
return $flag;
}
public function subtract(int $skuId, int $num = 1)
{
foreach ($this->list as $k => $v) {
if ($v instanceof GetFreightSku) {
if ($v->getSkuId() == $skuId) {
$v->setNum($v->getNum() - $num);
if ($v->getNum() <= 0) {
array_splice($this->list, $k, 1);
}
break;
}
}
}
}
public function parse()
{
return json_encode($this->list);
}
}