promptTemplateService = $promptTemplateService; } /** * 提示词模板列表 * * @param Request $request * @return mixed */ // public function templateList(Request $request) // { // $data = $request->all(); // $result = $this->promptTemplateService->getTemplateList($data); // return $this->success($result, [new PromptTemplateTransformer(), 'buildTemplateList']); // } public function promptTemplates(Request $request) { $data = $request->all(); $result = $this->promptTemplateService->getTemplates($data); return $this->success($result); } /** * 创建提示词模板 * * @param Request $request * @return mixed */ public function createTemplate(Request $request) { $data = $request->all(); $validator = Validator::make($data, [ 'template_name' => 'required|string|max:255', 'template_prompt' => 'required|string', 'remark' => 'nullable|string|max:500', ], [ 'template_name.required' => '模板名称不能为空', 'template_name.max' => '模板名称不能超过255个字符', 'template_prompt.required' => '模板提示词不能为空', 'remark.max' => '备注不能超过500个字符', ]); if ($validator->fails()) { Utils::throwError('1002:'.$validator->errors()->first()); } $result = $this->promptTemplateService->createTemplate($data); return $this->success($result); } /** * 编辑提示词模板 * * @param Request $request * @return mixed */ public function editTemplate(Request $request) { $data = $request->all(); $validator = Validator::make($data, [ 'template_id' => 'required|integer|min:1', 'template_name' => 'nullable|string|max:255', 'template_prompt' => 'nullable|string', 'remark' => 'nullable|string|max:500', ], [ 'template_id.required' => '模板ID不能为空', 'template_id.integer' => '模板ID必须为整数', 'template_id.min' => '模板ID必须大于0', 'template_name.max' => '模板名称不能超过255个字符', 'remark.max' => '备注不能超过500个字符', ]); if ($validator->fails()) { Utils::throwError('1002:'.$validator->errors()->first()); } $result = $this->promptTemplateService->editTemplate($data); return $this->success($result); } /** * 删除提示词模板 * * @param Request $request * @return mixed */ public function deleteTemplate(Request $request) { $data = $request->all(); $validator = Validator::make($data, [ 'template_id' => 'required|integer|min:1', ], [ 'template_id.required' => '模板ID不能为空', 'template_id.integer' => '模板ID必须为整数', 'template_id.min' => '模板ID必须大于0', ]); if ($validator->fails()) { Utils::throwError('1002:'.$validator->errors()->first()); } $result = $this->promptTemplateService->deleteTemplate($data['template_id']); return $this->success(['success' => $result ? 1 : 0]); } }