| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?php
- namespace App\Http\Controllers\PromptTemplate;
- use App\Libs\ApiResponse;
- use App\Libs\Utils;
- use App\Services\PromptTemplate\PromptTemplateService;
- use App\Transformer\PromptTemplate\PromptTemplateTransformer;
- use Illuminate\Http\Request;
- use Illuminate\Routing\Controller as BaseController;
- use Illuminate\Support\Facades\Validator;
- class PromptTemplateController extends BaseController
- {
- use ApiResponse;
- protected $promptTemplateService;
- public function __construct(PromptTemplateService $promptTemplateService)
- {
- $this->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]);
- }
- }
|