filled('platform')) { $query->where('platform', $request->platform); } if ($request->filled('name')) { $query->where('name', 'like', '%' . $request->name . '%'); } $perPage = $request->input('limit', 10); $templates = $query->paginate($perPage); return response()->json([ 'code' => 200, 'data' => [ 'list' => $templates->items(), 'total' => $templates->total(), 'current_page' => $templates->currentPage(), 'last_page' => $templates->lastPage(), ], 'message' => 'success' ]); } /** * 创建模板 */ public function store(TemplateRequest $request) { try { $template = Template::create([ 'name' => $request->name, 'platform' => $request->platform, 'size' => $request->size, 'style' => $request->style, 'default_express' => $request->default_express, 'sender_name' => $request->sender_name, 'sender_phone' => $request->sender_phone, 'sender_address' => $request->sender_address, 'show_product' => $request->show_product ?? true, 'remark' => $request->remark, ]); return response()->json([ 'code' => 200, 'data' => $template, 'message' => '模板创建成功' ]); } catch (\Exception $e) { return response()->json([ 'code' => 500, 'message' => '创建失败: ' . $e->getMessage() ], 500); } } /** * 模板详情 */ public function show(string $id) { $template = Template::find($id); if (!$template) { return response()->json([ 'code' => 404, 'message' => '模板不存在' ], 404); } return response()->json([ 'code' => 200, 'data' => $template, 'message' => 'success' ]); } /** * 更新模板 */ public function update(TemplateRequest $request, string $id) { $template = Template::find($id); if (!$template) { return response()->json([ 'code' => 404, 'message' => '模板不存在' ], 404); } try { $template->update([ 'name' => $request->name, 'platform' => $request->platform, 'size' => $request->size, 'style' => $request->style, 'default_express' => $request->default_express, 'sender_name' => $request->sender_name, 'sender_phone' => $request->sender_phone, 'sender_address' => $request->sender_address, 'show_product' => $request->show_product ?? $template->show_product, 'remark' => $request->remark, ]); return response()->json([ 'code' => 200, 'data' => $template, 'message' => '模板更新成功' ]); } catch (\Exception $e) { return response()->json([ 'code' => 500, 'message' => '更新失败: ' . $e->getMessage() ], 500); } } /** * 删除模板 */ public function destroy(string $id) { $template = Template::find($id); if (!$template) { return response()->json([ 'code' => 404, 'message' => '模板不存在' ], 404); } // 检查模板是否被仓库绑定 $bindingCount = WarehouseTemplateBinding::where('template_id', $id)->count(); if ($bindingCount > 0) { return response()->json([ 'code' => 400, 'message' => '模板已被仓库绑定,无法删除' ], 400); } try { $template->delete(); return response()->json([ 'code' => 200, 'message' => '模板删除成功' ]); } catch (\Exception $e) { return response()->json([ 'code' => 500, 'message' => '删除失败: ' . $e->getMessage() ], 500); } } }