有一个客户端 - 服务器的 API 调用,它返回大约 600 的发票,因为它们没有优化,所以需要最多 2.3 分钟的时间。
所以有一个条件,我需要用 过滤数据paid: false
,我也这样做了。
之后,我将记录存储在我的数据库中以跟踪发票并添加评论和发送提醒。
问题是有一种情况,如果发票变成Paid: true那么它将在过滤器中被忽略,那么我将如何更新我的表,因为它在那里仍然是假的。
$response = collect(\GuzzleHttp\json_decode($response->getBody()->getContents()));
$filtered = $response->filter(function ($value, $key) use ($now) {
return ($value->paid == false && $value->dueDate <= $now);
});
$this->saveInvoices($filtered);
public function saveInvoices($filtered)
{
foreach ($filtered as $val) {
$item = collect($val);
array_push($this->filteredResults, $item->only(['invoiceNumber', 'customerId', 'customerName', 'dueDate', 'invoiceDate', 'amountInOriginalCurrency', 'paid'])->toArray());
}
foreach ($this->filteredResults as $item) {
UnpaidInvoices::updateOrCreate(
['invoiceNumber' => $item['invoiceNumber']],
['invoiceNumber' => $item['invoiceNumber'],
'customerId' => $item['customerId'],
'customerName' => $item['customerName'],
'dueDate' => $item['dueDate'],
'invoiceDate' => $item['invoiceDate'],
'amountInOriginalCurrency' => $item['amountInOriginalCurrency'],
'paid' => $item['paid']]);
}
}
翻翻过去那场雪
慕运维8079593
相关分类