package cc.mrbird.febs.ai.controller.product; import cc.mrbird.febs.ai.entity.AiProduct; import cc.mrbird.febs.ai.req.AdminMoveChooseInfoDto; import cc.mrbird.febs.ai.service.AiProductService; 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/product") public class AiProductController extends BaseController { private final AiProductService aiProductService; @GetMapping("list") public FebsResponse list(AiProduct dto, QueryRequest request) { String companyId = getCurrentUserCompanyId(); dto.setCompanyId(companyId); Map data = getDataTable(aiProductService.listInPage(dto, request)); return new FebsResponse().success().data(data); } @GetMapping("changeState/{id}/{type}/{state}") @ControllerEndpoint(operation = "状态操作", exceptionMessage = "操作失败") public FebsResponse changeState( @NotNull(message = "{required}") @PathVariable String id, @NotNull(message = "{required}") @PathVariable Integer type, @NotNull(message = "{required}") @PathVariable Integer state ) { return aiProductService.changeState(id,type,state); } @PostMapping("add") @ControllerEndpoint(operation = "新增", exceptionMessage = "操作失败") public FebsResponse add(@RequestBody @Valid AiProduct dto) { String companyId = getCurrentUserCompanyId(); dto.setCompanyId(companyId); return aiProductService.add(dto); } @PostMapping("update") @ControllerEndpoint(operation = "更新", exceptionMessage = "操作失败") public FebsResponse update(@RequestBody @Valid AiProduct dto) { return aiProductService.update(dto); } @GetMapping("delete/{id}") @ControllerEndpoint(operation = "删除", exceptionMessage = "操作失败") public FebsResponse delete( @NotNull(message = "{required}") @PathVariable String id ) { return aiProductService.delete(id); } @PostMapping("pointSet") @ControllerEndpoint(operation = "知识点配置", exceptionMessage = "操作失败") public FebsResponse pointSet(@RequestBody @Valid AdminMoveChooseInfoDto dto) { return aiProductService.productSet(dto); } @PostMapping("productRoleSet") @ControllerEndpoint(operation = "AI陪练配置", exceptionMessage = "操作失败") public FebsResponse productRoleSet(@RequestBody @Valid AdminMoveChooseInfoDto dto) { return aiProductService.productRoleSet(dto); } @PostMapping("productQuestionSet") @ControllerEndpoint(operation = "AI题目配置", exceptionMessage = "操作失败") public FebsResponse productQuestionSet(@RequestBody @Valid AdminMoveChooseInfoDto dto) { return aiProductService.productQuestionSet(dto); } }