| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Exceptions\Exception;
- use App\Logistic;
- use App\ReceiveRecord;
- use App\Services\LogisticService;
- use Illuminate\Database\QueryException;
- use Illuminate\Support\Facades\Log;
- class ReceiveRecordController extends Controller
- {
- use AsyncResponse;
- public function receive()
- {
- $logisticNumber = \request("logisticNumber");
- if (!$logisticNumber)$this->error("非法单号");
- /** @var LogisticService $service */
- $service = app("LogisticService");
- $name = $service->assertExpressCompany($logisticNumber);
- if ($name){
- $logistic = Logistic::query()->select("id","name")->where("name","like","%{$name}%")->first();
- $logisticId = $logistic ? $logistic->id : 0;
- } else $logisticId = 0;
- try {
- $dateTime = now()->toDateTimeString();
- ReceiveRecord::query()->create([
- "logistic_number" => $logisticNumber,
- "logistic_id" => $logisticId,
- "record_at" => $dateTime,
- ]);
- $this->success(["recordAt"=>$dateTime,"logistic"=>$logistic->name??"未知"]);
- }catch(QueryException $qe){
- if ($qe->getCode()=='23000')$this->error("unique");
- else $this->error("数据异常");
- }catch (Exception $e){
- $this->error("处理异常");
- }
- }
- }
|