123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- namespace App\Http\Controllers\Admin;
- use App\Http\Models\Product;
- use App\Http\Requests\ProductSaveRequest;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- /**
- * 引擎力产品
- * Class ProductController
- * @package App\Http\Controllers\Admin
- */
- class ProductController extends Controller
- {
- //产品列表
- public function index(Request $request)
- {
- if (!$request->ajax()) {
- return view('admin/product/index');
- }
- $records = Product::query()->orderByDesc('id')
- ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE);
- $items = $records->items();
- $statusMap = Product::STATUS_MAP;
- array_walk($items, function ($item) use ($statusMap) {
- $item->status_title = $statusMap[$item->status] ?? '';
- });
- return response()->json([
- 'rows' => $items,
- 'total' => $records->total()
- ]);
- }
- //切换状态
- public function toggleStatus(Request $request)
- {
- $ids = $request->input('ids');
- $toggle = $request->input('toggle');
- Product::query()->whereIn('id', $ids)->update(['status' => $toggle]);
- return response()->json(['message' => '操作成功']);
- }
- public function save(ProductSaveRequest $request, $id)
- {
- if (!$request->ajax()) {
- if ($id > 0) {
- $record = Product::query()->find($id);
- }
- return view('admin/product/save', [
- 'data' => $record ?? null
- ]);
- }
- $validated = $request->validated();
- if ($id > 0) {
- $validated['status'] = 1;
- }
- Product::query()->updateOrCreate(['id' => $id], $validated);
- return response()->json(['message' => '操作成功']);
- }
- public function batchDelete(Request $request)
- {
- $ids = $request->input('ids');
- Product::query()->whereIn('id', $ids)->delete();
- return response()->json(['message' => '操作成功']);
- }
- }
|