| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | @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(); |