package com.iailab.module.ai.controller.admin.questionparamsetting; 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.questionparamsetting.vo.*; import com.iailab.module.ai.dal.dataobject.questionparamsetting.QuestionParamSettingDO; import com.iailab.module.ai.service.questionparamsetting.QuestionParamSettingService; @Tag(name = "管理后台 - 大模型问题设置参数") @RestController @RequestMapping("/ai/question-param-setting") @Validated public class QuestionParamSettingController { @Resource private QuestionParamSettingService questionParamSettingService; @PostMapping("/create") @Operation(summary = "创建大模型问题设置参数") @PreAuthorize("@ss.hasPermission('ai:question-param-setting:create')") public CommonResult createQuestionParamSetting(@Valid @RequestBody QuestionParamSettingSaveReqVO createReqVO) { return success(questionParamSettingService.createQuestionParamSetting(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新大模型问题设置参数") @PreAuthorize("@ss.hasPermission('ai:question-param-setting:update')") public CommonResult updateQuestionParamSetting(@Valid @RequestBody QuestionParamSettingSaveReqVO updateReqVO) { questionParamSettingService.updateQuestionParamSetting(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除大模型问题设置参数") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('ai:question-param-setting:delete')") public CommonResult deleteQuestionParamSetting(@RequestParam("id") String id) { questionParamSettingService.deleteQuestionParamSetting(id); return success(true); } @GetMapping("/get") @Operation(summary = "获得大模型问题设置参数") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('ai:question-param-setting:query')") public CommonResult getQuestionParamSetting(@RequestParam("id") String id) { QuestionParamSettingDO questionParamSetting = questionParamSettingService.getQuestionParamSetting(id); return success(BeanUtils.toBean(questionParamSetting, QuestionParamSettingRespVO.class)); } @GetMapping("/page") @Operation(summary = "获得大模型问题设置参数分页") @PreAuthorize("@ss.hasPermission('ai:question-param-setting:query')") public CommonResult> getQuestionParamSettingPage(@Valid QuestionParamSettingPageReqVO pageReqVO) { PageResult pageResult = questionParamSettingService.getQuestionParamSettingPage(pageReqVO); return success(BeanUtils.toBean(pageResult, QuestionParamSettingRespVO.class)); } }