InquiryController.php
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
namespace App\Http\Controllers\Api;
use App\Exceptions\InquiryFilterException;
use App\Models\SyncSubmitTask\SyncSubmitTask;
use App\Services\CosService;
use Illuminate\Http\Request;
/**
* Class InquiryController
* @package App\Http\Controllers\Api
* @author zbj
* @date 2024/2/2
*/
class InquiryController extends BaseController
{
/**
* 提交询盘
* C端部署自己服务器的
* @param Request $request
* @return false|string
* @author zbj
* @date 2024/2/2
*/
public function submit(Request $request){
$data = $request->post();
@file_put_contents(storage_path('logs/form_submit_' . date('Y-m-d') . '.log'), var_export(date('Y-m-d H:i:s') . "-询盘表单提交数据:" . json_encode($data), true) . PHP_EOL, FILE_APPEND);
try {
$files = $request->allFiles()['data'] ?? [];
foreach ($files as $key => $file) {
$cos = new CosService();
$fileinfo = $cos->checkInquiryFile($file);
$fileName = uniqid().rand(10000,99999).'.'.$file->getClientOriginalExtension();
$path = $cos->uploadFile($file, '/inquiry/'. date('Ymd'), $fileName);
$data['data'][$key] = [
'path' => $path,
'original_name' => $fileinfo['name'],
];
}
}catch (InquiryFilterException $e){
return $this->error($e->getMessage());
}catch (\Exception $e){
return $this->error('File upload fail');
}
//异步处理
if(!SyncSubmitTask::addTask(SyncSubmitTask::TYPE_INQUIRY, $data)){
return $this->error();
}
return $this->success();
}
}