erp/app/Exports/BusinessAfterOrderExport.php

64 lines
1.7 KiB
PHP
Raw Permalink Normal View History

2024-11-02 13:26:07 +08:00
<?php
namespace App\Exports;
2024-11-02 17:05:46 +08:00
use App\Http\Enum\AfterSaleOrderStatusEnum;
2024-11-02 13:26:07 +08:00
use App\Models\DailyReport;
use App\Models\Shop;
use Illuminate\Support\Facades\Log;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Illuminate\Support\Collection;
class BusinessAfterOrderExport implements FromCollection, ShouldAutoSize
{
private $data;
public function __construct($orders)
{
$this->data = $this->createData($orders);
}
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return new Collection($this->data);
}
private function createData($orders)
{
$headTitle = [
'父订单编号',
'店铺名称',
'退款金额',
'用户申请退运费金额',
'退款原因',
'描述',
2024-11-04 14:44:35 +08:00
'申请类型',
2024-11-02 13:26:07 +08:00
'售后单状态',
'售后单创建时间',
2024-11-04 14:44:35 +08:00
'图片链接',
2024-11-02 13:26:07 +08:00
];
$bodyData = [];
foreach ($orders as $order) {
$bodyData[] = [
$order['order_sn'],
$order['shop']['name'],
2024-11-04 14:44:35 +08:00
bcdiv($order['refund_amount'], 100, 2),
bcdiv($order['refund_shipping_amount'], 100, 2),
2024-11-02 17:05:46 +08:00
$order['reason'],
2024-11-02 13:26:07 +08:00
$order['description'],
2024-11-04 14:44:35 +08:00
empty($order['apply_type']) ? "仅退款" : "退货退款",
2024-11-02 17:05:46 +08:00
AfterSaleOrderStatusEnum::getData($order['after_sales_status']),
2024-11-04 14:44:35 +08:00
$order['after_sale_created_at'],
implode(",", $order['image_list'])
2024-11-02 13:26:07 +08:00
];
}
return [$headTitle, $bodyData];
}
}