package com.iailab.module.ai.controller.admin.questiontemplate;
|
|
import com.iailab.module.ai.service.model.AiModelService;
|
import jakarta.annotation.Resource;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import javax.validation.*;
|
|
import com.iailab.framework.common.pojo.PageResult;
|
import com.iailab.framework.common.pojo.CommonResult;
|
import com.iailab.framework.common.util.object.BeanUtils;
|
|
import static com.iailab.framework.common.pojo.CommonResult.success;
|
|
|
import com.iailab.module.ai.controller.admin.questiontemplate.vo.*;
|
import com.iailab.module.ai.dal.dataobject.questiontemplate.QuestionTemplateDO;
|
import com.iailab.module.ai.service.questiontemplate.QuestionTemplateService;
|
|
@Tag(name = "管理后台 - 大模型问题模板")
|
@RestController
|
@RequestMapping("/ai/question-template")
|
@Validated
|
public class QuestionTemplateController {
|
|
@Resource
|
private QuestionTemplateService questionTemplateService;
|
|
@Resource
|
private AiModelService aiModelService;
|
|
@PostMapping("/create")
|
@Operation(summary = "创建大模型问题模板")
|
@PreAuthorize("@ss.hasPermission('ai:question-template:create')")
|
public CommonResult<String> createQuestionTemplate(@Valid @RequestBody QuestionTemplateSaveReqVO createReqVO) {
|
return success(questionTemplateService.createQuestionTemplate(createReqVO));
|
}
|
|
@PutMapping("/update")
|
@Operation(summary = "更新大模型问题模板")
|
@PreAuthorize("@ss.hasPermission('ai:question-template:update')")
|
public CommonResult<Boolean> updateQuestionTemplate(@Valid @RequestBody QuestionTemplateSaveReqVO updateReqVO) {
|
questionTemplateService.updateQuestionTemplate(updateReqVO);
|
return success(true);
|
}
|
|
@DeleteMapping("/delete")
|
@Operation(summary = "删除大模型问题模板")
|
@Parameter(name = "id", description = "编号", required = true)
|
@PreAuthorize("@ss.hasPermission('ai:question-template:delete')")
|
public CommonResult<Boolean> deleteQuestionTemplate(@RequestParam("id") String id) {
|
questionTemplateService.deleteQuestionTemplate(id);
|
return success(true);
|
}
|
|
@GetMapping("/get")
|
@Operation(summary = "获得大模型问题模板")
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@PreAuthorize("@ss.hasPermission('ai:question-template:query')")
|
public CommonResult<QuestionTemplateRespVO> getQuestionTemplate(@RequestParam("id") String id) {
|
QuestionTemplateDO questionTemplate = questionTemplateService.getQuestionTemplate(id);
|
return success(BeanUtils.toBean(questionTemplate, QuestionTemplateRespVO.class));
|
}
|
|
@GetMapping("/page")
|
@Operation(summary = "获得大模型问题模板分页")
|
@PreAuthorize("@ss.hasPermission('ai:question-template:query')")
|
public CommonResult<PageResult<QuestionTemplateRespVO>> getQuestionTemplatePage(@Valid QuestionTemplatePageReqVO pageReqVO) {
|
PageResult<QuestionTemplateDO> pageResult = questionTemplateService.getQuestionTemplatePage(pageReqVO);
|
pageResult.getList().forEach(questionTemplateDO ->
|
questionTemplateDO.setModelName(
|
aiModelService.getModel(Long.valueOf((questionTemplateDO.getModelId()))).getName()
|
)
|
);
|
return success(BeanUtils.toBean(pageResult, QuestionTemplateRespVO.class));
|
}
|
|
}
|