erp/app/Http/Controllers/Goods/GoodsSkusController.php

61 lines
1.7 KiB
PHP
Raw Normal View History

2022-07-28 13:46:08 +08:00
<?php
namespace App\Http\Controllers\Goods;
use App\Http\Controllers\Controller;
2022-08-01 17:06:43 +08:00
use App\Models\Log as LogModel;
2022-07-28 13:46:08 +08:00
use Illuminate\Http\Request;
use App\Models\GoodsSku;
use App\Http\Resources\GoodsSkuResource;
use App\Imports\GoodsSkusImport;
use Illuminate\Validation\ValidationException;
use Maatwebsite\Excel\Facades\Excel;
2022-07-28 13:46:08 +08:00
class GoodsSkusController extends Controller
{
2022-08-01 17:06:43 +08:00
public function __construct(Request $request)
2022-08-01 05:07:38 +08:00
{
2022-08-01 17:06:43 +08:00
// $this->middleware(['role:super-admin','permission:publish articles|edit articles']);
$this->log = new LogModel([
'module' => 'goods',
'action' => $request->getMethod(),
'target_type' => 'goods_sku',
]);
2022-08-01 05:07:38 +08:00
}
2022-07-28 13:46:08 +08:00
public function index(Request $request)
{
return new GoodsSkuResource(GoodsSku::query()->get(['id', 'title']));
2022-07-28 13:46:08 +08:00
}
public function show($id)
{
return new GoodsSkuResource(GoodsSku::query()->with(['goods', 'brand'])->find($id));
}
public function update($id, Request $request)
{
}
public function store(Request $request)
{
if (!$request->hasFile('goodsSkus')) {
$this->res = [
'httpCode' => 404,
'errorCode' => 404404,
'errorMessage' => 'not found goodsSkus file',
];
}
try {
2022-08-01 17:06:43 +08:00
$collection = Excel::import(new GoodsSkusImport(), $request->file('goodsSkus'));
$this->setAfterUpdate($collection->toArray());
$this->addLog(0, 'import');
} catch (ValidationException $exception) {
$this->setValidatorFailResponse($exception->validator->getMessageBag()->getMessages());
}
return response($this->res, $this->res['httpCode']);
}
2022-07-28 13:46:08 +08:00
}