| src/main/java/cc/mrbird/febs/ai/controller/talk/ApiAiTalkController.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/ai/req/talk/ApiQuestionListDto.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/ai/service/AiTalkService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/cc/mrbird/febs/ai/service/impl/AiTalkServiceImpl.java | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/ai/controller/talk/ApiAiTalkController.java
@@ -1,9 +1,6 @@ package cc.mrbird.febs.ai.controller.talk; import cc.mrbird.febs.ai.req.talk.AiTalkAnswerStream; import cc.mrbird.febs.ai.req.talk.ApiTalkDto; import cc.mrbird.febs.ai.req.talk.ApiTalkItemPageDto; import cc.mrbird.febs.ai.req.talk.ApiTalkPageDto; import cc.mrbird.febs.ai.req.talk.*; import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkStreamVoOld; import cc.mrbird.febs.ai.res.talk.ApiTalkItemPageVo; import cc.mrbird.febs.ai.res.talk.ApiTalkPageVo; @@ -42,6 +39,16 @@ return aiTalkService.questionList(); } @ApiOperation(value = "题目轮播", notes = "题目轮播") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiTalkQuestionVo.class) }) @PostMapping(value = "/questionListV2") public FebsResponse questionListV2(@RequestBody @Validated ApiQuestionListDto dto) { return aiTalkService.questionListV2(dto); } @ApiOperation(value = "用户AI问答", notes = "用户AI问答") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiTalkVo.class) src/main/java/cc/mrbird/febs/ai/req/talk/ApiQuestionListDto.java
New file @@ -0,0 +1,13 @@ package cc.mrbird.febs.ai.req.talk; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "ApiQuestionListDto", description = "参数") public class ApiQuestionListDto { @ApiModelProperty(value = "公司ID", example = "1") private String companyId; } src/main/java/cc/mrbird/febs/ai/service/AiTalkService.java
@@ -1,10 +1,7 @@ package cc.mrbird.febs.ai.service; import cc.mrbird.febs.ai.entity.AiTalk; import cc.mrbird.febs.ai.req.talk.AiTalkAnswerStream; import cc.mrbird.febs.ai.req.talk.ApiTalkDto; import cc.mrbird.febs.ai.req.talk.ApiTalkItemPageDto; import cc.mrbird.febs.ai.req.talk.ApiTalkPageDto; import cc.mrbird.febs.ai.req.talk.*; import cc.mrbird.febs.common.entity.FebsResponse; import com.baomidou.mybatisplus.extension.service.IService; import reactor.core.publisher.Flux; @@ -15,6 +12,8 @@ FebsResponse questionList(); FebsResponse questionListV2(ApiQuestionListDto dto); FebsResponse talkOpen(ApiTalkDto dto); AiTalk add(String memberUuid,String companyId, String question, Date date); src/main/java/cc/mrbird/febs/ai/service/impl/AiTalkServiceImpl.java
@@ -4,10 +4,7 @@ import cc.mrbird.febs.ai.entity.AiTalk; import cc.mrbird.febs.ai.enumerates.AiPromptEnum; import cc.mrbird.febs.ai.mapper.AiTalkMapper; import cc.mrbird.febs.ai.req.talk.AiTalkAnswerStream; import cc.mrbird.febs.ai.req.talk.ApiTalkDto; import cc.mrbird.febs.ai.req.talk.ApiTalkItemPageDto; import cc.mrbird.febs.ai.req.talk.ApiTalkPageDto; import cc.mrbird.febs.ai.req.talk.*; import cc.mrbird.febs.ai.res.talk.ApiTalkPageVo; import cc.mrbird.febs.ai.res.talk.ApiTalkQuestionVo; import cc.mrbird.febs.ai.res.talk.ApiTalkVo; @@ -70,6 +67,28 @@ } @Override public FebsResponse questionListV2(ApiQuestionListDto dto) { List<ApiTalkQuestionVo> list = new ArrayList<>(); LambdaQueryWrapper<AiProductQuestion> queryWrapper = Wrappers.lambdaQuery(AiProductQuestion.class); if (StrUtil.isNotEmpty(dto.getCompanyId())){ queryWrapper.eq(AiProductQuestion::getCompanyId,dto.getCompanyId()); }else{ queryWrapper.isNull(AiProductQuestion::getCompanyId); } queryWrapper.orderByDesc(AiProductQuestion::getCreatedTime); queryWrapper.last("limit 30"); List<AiProductQuestion> listByQuery = aiProductQuestionService.getListByQuery(queryWrapper); if (CollUtil.isNotEmpty(listByQuery)){ for (AiProductQuestion aiProductQuestion : listByQuery){ ApiTalkQuestionVo apiTalkQuestionVo = new ApiTalkQuestionVo(); apiTalkQuestionVo.setContext(aiProductQuestion.getTitle()); list.add(apiTalkQuestionVo); } } return new FebsResponse().success().data(list); } @Override public FebsResponse talkOpen(ApiTalkDto dto) { String talkId = dto.getTalkId(); String context = dto.getContext();