feat: 添加批量采购询盘分页/导出接口

This commit is contained in:
2025-03-13 16:23:37 +08:00
parent 8db458523e
commit ced7db61b5
5 changed files with 202 additions and 5 deletions

View File

@@ -0,0 +1,102 @@
<?php
declare (strict_types = 1);
namespace app\admin\controller\v1;
use app\admin\model\v1\BulkPurchaseInquiryModel;
/**
* 批量采购询盘控制器
*/
class BulkPurchaseInquiry
{
// 分页
public function index()
{
$param = request()->param([
'corp_name',
'interested',
'created_at',
'page/d' => 1,
'size/d' => 10
]);
$msgs = BulkPurchaseInquiryModel::field([
'id',
'ip',
'corp_name',
'first_name',
'last_name',
'email',
'phone',
'interested',
'message',
'created_at'
])
->withSearch(['corp_name', 'interested', 'created_at'], [
'corp_name' => $param['corp_name'] ?? null,
'interested' => $param['interested'] ?? null,
'created_at' => !empty($param['created_at']) ? explode(',', $param['created_at']) : null
])
->language(request()->lang_id)
->order(['id' => 'desc'])
->paginate([
'list_rows' => $param['size'],
'page' => $param['page'],
]);
return success('获取成功', $msgs);
}
// 导出
public function export()
{
$schema = [
'id' => 'ID',
'ip' => 'IP',
'corp_name' => '公司名称',
'username' => '姓名',
'email' => '邮箱',
'phone' => '手机号友',
'interested' => '想采购的产品',
'message' => '询问内容',
'created_at' => '提交时间',
];
// 获取要导出的采购询盘数据
$data = $this->getExportData();
// 导出
return xlsx_writer($data, $schema);
}
// 获取要导出的采购询盘数据
private function getExportData()
{
$param = request()->param([
'corp_name',
'interested',
'created_at',
]);
return BulkPurchaseInquiryModel::field([
'id',
'ip',
'corp_name',
'CONCAT(first_name, last_name)' => 'username',
'last_name',
'email',
'phone',
'interested',
'message',
'created_at'
])
->withSearch(['corp_name', 'interested', 'created_at'], [
'corp_name' => $param['corp_name'] ?? null,
'interested' => $param['interested'] ?? null,
'created_at' => !empty($param['created_at']) ? explode(',', $param['created_at']) : null
])
->language(request()->lang_id)
->order(['id' => 'desc'])
->select();
}
}