| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?phpnamespace 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' => '操作成功']);    }}
 |