order-rep
parent
2c93553f51
commit
e3041d1401
|
|
@ -2,9 +2,13 @@
|
|||
|
||||
namespace App\Admin\Controllers\Store;
|
||||
|
||||
use App\Models\Admin\Administrator;
|
||||
use App\Models\Store\{Store, StockLog, ProductSku};
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Dcat\Admin\{Form, Grid, Admin, Show};
|
||||
use Dcat\Admin\Http\Controllers\AdminController;
|
||||
use Illuminate\Database\Eloquent\Relations\Relation;
|
||||
|
||||
class StockController extends AdminController
|
||||
{
|
||||
|
|
@ -30,9 +34,9 @@ class StockController extends AdminController
|
|||
});
|
||||
$grid->column('balance');
|
||||
$grid->column('operator', '操作人')->display(function ($v) {
|
||||
if ($v instanceof \App\Models\Admin\Administrator) {
|
||||
if ($v instanceof Administrator) {
|
||||
return $v->name . '<span class="label bg-primary">管理员</span>';
|
||||
} else if ($v instanceof \App\Models\User) {
|
||||
} else if ($v instanceof User) {
|
||||
return $v->phone . '<span class="label bg-info">员工</span>';
|
||||
}
|
||||
|
||||
|
|
@ -49,7 +53,31 @@ class StockController extends AdminController
|
|||
$grid->filter(function (Grid\Filter $filter) {
|
||||
$filter->panel();
|
||||
$filter->equal('store_id')->select(Store::pluck('title', 'id'))->width(3);
|
||||
$filter->like('productSku.name', '商品')->width(3);
|
||||
$filter->equal('tag_id', '类目')->select(StockLog::tags()->pluck('name', 'id'))->width(3);
|
||||
$filter->where('operator', function ($q) {
|
||||
$input = $this->input;
|
||||
$condition = '%'.$input.'%';
|
||||
$q->whereHasMorph('operator', [Administrator::class, User::class], function ($q1, $type) use ($condition) {
|
||||
$column = $type === Administrator::class ? 'name' : 'phone';
|
||||
|
||||
$q1->where($column, 'like', $condition);
|
||||
});
|
||||
})->placeholder('管理员姓名/员工手机号')->width(3);
|
||||
$filter->whereBetween('created_at', function ($q) {
|
||||
$start = data_get($this->input, 'start');
|
||||
$start = $start ? Carbon::createFromFormat('Y-m-d', $start) : null;
|
||||
$end = data_get($this->input, 'end');
|
||||
$end = $end ? Carbon::createFromFormat('Y-m-d', $end) : null;
|
||||
if ($start) {
|
||||
if ($end) {
|
||||
$q->whereBetween('created_at', [$start, $end]);
|
||||
}
|
||||
$q->where('created_at', '>=', $start);
|
||||
} elseif ($end) {
|
||||
$q->where('created_at', '<=', $end);
|
||||
}
|
||||
}, '操作时间')->date()->width(3);
|
||||
});
|
||||
return $grid;
|
||||
}
|
||||
|
|
@ -91,7 +119,7 @@ class StockController extends AdminController
|
|||
|
||||
// 操作人
|
||||
$administrator = Admin::user();
|
||||
$form->input('operator_type', get_class($administrator));
|
||||
$form->input('operator_type', $administrator->getMorphClass());
|
||||
$form->input('operator_id', $administrator->id);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
namespace App\Endpoint\Api\Http\Controllers\Order;
|
||||
|
||||
use App\Endpoint\Api\Http\Controllers\Controller;
|
||||
use App\Endpoint\Api\Http\Resources\OrderPreResource;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\{Order, OrderPre, ProductSku};
|
||||
use App\Models\Store\Store;
|
||||
|
|
@ -99,6 +100,13 @@ class OrderPreController extends Controller
|
|||
throw new BizException('生成失败, 请稍后再试');
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
$info = OrderPre::findOrFail($id);
|
||||
|
||||
return OrderPreResource::make($info);
|
||||
}
|
||||
|
||||
public function storeOrder(Request $request)
|
||||
{
|
||||
$id = $request->input('id');
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ class UnlineController extends Controller
|
|||
'amount' => $product->pivot->amount - $amount
|
||||
]);
|
||||
$store->stockLogs()->create([
|
||||
'operator_type' => get_class($user),
|
||||
'operator_type' => $user->getMorphClass(),
|
||||
'operator_id' => $user->id,
|
||||
'source_type' => Order::class,
|
||||
'source_id' => $order->id,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace App\Endpoint\Api\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class OrderPreResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'store_id' => $this->store_id,
|
||||
'user_id' => $this->user_id,
|
||||
'products' => $this->products,
|
||||
'others' => $this->others,
|
||||
'created_at' => $this->created_at->timestamp,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -232,6 +232,7 @@ Route::group([
|
|||
|
||||
// 门店下单
|
||||
Route::group(['middleware' => ['auth:api', \App\Endpoint\Api\Http\Middleware\CheckUserStatus::class]], function () {
|
||||
Route::get('order-pre/{id}', [App\Endpoint\Api\Http\Controllers\Order\OrderPreController::class, 'show']);
|
||||
Route::post('order-pre', [App\Endpoint\Api\Http\Controllers\Order\OrderPreController::class, 'store']);
|
||||
Route::post('order-pre/order', [App\Endpoint\Api\Http\Controllers\Order\OrderPreController::class, 'storeOrder']);
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue