package cc.mrbird.febs.ai.controller.productQuestion; import cc.mrbird.febs.ai.entity.AiProductQuestion; import cc.mrbird.febs.ai.req.AiProductQuestionAiDto; import cc.mrbird.febs.ai.service.AiProductQuestionService; import cc.mrbird.febs.common.annotation.ControllerEndpoint; import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.Map; /** * @author Administrator */ @Slf4j @Validated @RestController @RequiredArgsConstructor @RequestMapping(value = "/admin/productQuestion") public class AiProductQuestionController extends BaseController { private final AiProductQuestionService aiProductQuestionService; @GetMapping("list") public FebsResponse list(AiProductQuestion dto, QueryRequest request) { String companyId = getCurrentUserCompanyId(); dto.setCompanyId(companyId); Map data = getDataTable(aiProductQuestionService.listInPage(dto, request)); return new FebsResponse().success().data(data); } @GetMapping("changeState/{id}/{state}") @ControllerEndpoint(operation = "状态操作", exceptionMessage = "操作失败") public FebsResponse changeState( @NotNull(message = "{required}") @PathVariable String id, @NotNull(message = "{required}") @PathVariable Integer state ) { return aiProductQuestionService.changeState(id,state); } @PostMapping("add") @ControllerEndpoint(operation = "新增", exceptionMessage = "操作失败") public FebsResponse add(@RequestBody @Valid AiProductQuestion dto) { String companyId = getCurrentUserCompanyId(); dto.setCompanyId(companyId); return aiProductQuestionService.add(dto); } @PostMapping("aiAdd") @ControllerEndpoint(operation = "AI生成题目", exceptionMessage = "操作失败") public FebsResponse aiAdd(@RequestBody @Valid AiProductQuestionAiDto dto) { String companyId = getCurrentUserCompanyId(); dto.setCompanyId(companyId); return aiProductQuestionService.aiAdd(dto); } @PostMapping("update") @ControllerEndpoint(operation = "更新", exceptionMessage = "操作失败") public FebsResponse update(@RequestBody @Valid AiProductQuestion dto) { return aiProductQuestionService.update(dto); } @GetMapping("delete/{id}") @ControllerEndpoint(operation = "删除", exceptionMessage = "操作失败") public FebsResponse delete( @NotNull(message = "{required}") @PathVariable String id ) { return aiProductQuestionService.delete(id); } @GetMapping(value = "/questionTree") public FebsResponse questionTree() { String companyId = getCurrentUserCompanyId(); return new FebsResponse().success().data(aiProductQuestionService.questionTree(companyId)); } }