From 65f10033448a07535d610ad56a628d7b3f137480 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 27 Aug 2025 17:22:14 +0800 Subject: [PATCH] feat(ai): 优化对话项添加逻辑并增强接口返回值 --- src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java | 4 +++- src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java | 2 +- src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkVo.java | 3 +++ src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java | 27 ++++++++++++++++----------- src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkItemPageDto.java | 3 +++ src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml | 1 + 6 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkItemPageDto.java b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkItemPageDto.java index 023b337..a665951 100644 --- a/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkItemPageDto.java +++ b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkItemPageDto.java @@ -25,6 +25,9 @@ @ApiModelProperty(value = "会话ID", example = "1") private String memberTalkId; + @ApiModelProperty(value = "消息ID") + private String memberTalkItemId; + @ApiModelProperty(hidden = true) private String memberUuid; diff --git a/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkVo.java b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkVo.java index 7a46eb3..41f1560 100644 --- a/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkVo.java +++ b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkVo.java @@ -17,6 +17,9 @@ */ @ApiModelProperty(value = "会话ID") + private String memberTalkItemId; + + @ApiModelProperty(value = "会话ID") private String memberTalkId; /** diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java index 56d13d3..21dea9b 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java +++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java @@ -22,7 +22,7 @@ public interface AiMemberTalkItemService extends IService<AiMemberTalkItem> { - void add(String memberUuid, String id, int type, String resContext, Date createdTime); + AiMemberTalkItem add(String memberUuid, String id, int type, String resContext, Date createdTime); AiMemberTalkItem getByQuery(LambdaQueryWrapper<AiMemberTalkItem> memberTalkItemQuery); diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java index 1451d7e..2b93ccc 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java @@ -38,7 +38,7 @@ private final AiMemberTalkItemMapper aiMemberTalkItemMapper; @Override - public void add(String memberUuid, String id, int type, String resContext,Date createdTime) { + public AiMemberTalkItem add(String memberUuid, String id, int type, String resContext,Date createdTime) { AiMemberTalkItem aiMemberTalkItem = new AiMemberTalkItem(); aiMemberTalkItem.setId(UUID.getSimpleUUIDString()); aiMemberTalkItem.setCreatedTime(createdTime); @@ -47,6 +47,8 @@ aiMemberTalkItem.setType(type); aiMemberTalkItem.setContext(resContext); aiMemberTalkItemMapper.insert(aiMemberTalkItem); + + return aiMemberTalkItem; } @Override diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java index ad3a0cc..4885a94 100644 --- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java @@ -85,16 +85,18 @@ List<AiMessage> aiMessageDtoList = aiMemberTalkItemService.getQuestionUpDownContext(aiMemberTalk.getId(),AiTypeEnum.QUESTION.getCode()); AiResponse aiResponse = aiService.start(aiMessageDtoList,AiTypeEnum.QUESTION.getCode(),aiProductRoleLink.getProductRoleId(),AiTypeEnum.QUESTION.getName(), null); - if(aiResponse.getCode().equals("200")){ - aiMemberTalkItemService.add(memberUuid,aiMemberTalk.getId(),1,aiResponse.getResContext(),nowTime); - this.updateTimeUpdate(nowTime,aiMemberTalk.getId()); - }else{ - throw new FebsException(aiResponse.getDescription()); - } + ApiMemberTalkVo apiMemberTalkVo = new ApiMemberTalkVo(); apiMemberTalkVo.setMemberTalkId(aiMemberTalk.getId()); apiMemberTalkVo.setType(1); apiMemberTalkVo.setContext(aiResponse.getResContext()); + if(aiResponse.getCode().equals("200")){ + AiMemberTalkItem aiMemberTalkItem = aiMemberTalkItemService.add(memberUuid, aiMemberTalk.getId(), 1, aiResponse.getResContext(), nowTime); + apiMemberTalkVo.setMemberTalkItemId(aiMemberTalkItem.getId()); + this.updateTimeUpdate(nowTime,aiMemberTalk.getId()); + }else{ + throw new FebsException(aiResponse.getDescription()); + } return new FebsResponse().success().data(apiMemberTalkVo); } @@ -238,6 +240,9 @@ // AiResponse aiResponse = aiService.start(aiProductRoleLink.getProductRoleId(), format); + ApiMemberTalkVo apiMemberTalkVo = new ApiMemberTalkVo(); + apiMemberTalkVo.setMemberTalkId(aiMemberTalk.getId()); + apiMemberTalkVo.setType(3); List<AiMessage> aiMessageDtoList = aiMemberTalkItemService.getQuestionUpDownContext(aiMemberTalk.getId(),AiTypeEnum.ANSWER.getCode()); AiResponse aiResponse = aiService.start(aiMessageDtoList,AiTypeEnum.ANSWER.getCode(),aiProductRoleLink.getProductRoleId(), reqContext,aiMemberTalkItem.getContext()); String context = null; @@ -247,15 +252,15 @@ if ("null".equals( context)){ context = aiResponse.getResContext(); } - aiMemberTalkItemService.add(memberUuid,aiMemberTalk.getId(),3, context,nowTime); + AiMemberTalkItem talkItem = aiMemberTalkItemService.add(memberUuid, aiMemberTalk.getId(), 3, context, nowTime); this.updateTimeUpdate(nowTime,aiMemberTalk.getId()); + + + apiMemberTalkVo.setContext(context); + apiMemberTalkVo.setMemberTalkItemId(talkItem.getId()); }else{ throw new FebsException(aiResponse.getDescription()); } - ApiMemberTalkVo apiMemberTalkVo = new ApiMemberTalkVo(); - apiMemberTalkVo.setMemberTalkId(aiMemberTalk.getId()); - apiMemberTalkVo.setType(3); - apiMemberTalkVo.setContext(context); return new FebsResponse().success().data(apiMemberTalkVo); } @Override diff --git a/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml b/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml index 7af5528..097df18 100644 --- a/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml +++ b/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml @@ -13,6 +13,7 @@ <where> and a.member_id = #{record.memberUuid} and a.member_talk_id = #{record.memberTalkId} + and a.id != #{record.memberTalkItemId} </where> order by a.CREATED_TIME desc </select> -- Gitblit v1.9.1