diff --git a/src/main/java/com/xly/service/XlyErpService.java b/src/main/java/com/xly/service/XlyErpService.java
index d64841d..10294eb 100644
--- a/src/main/java/com/xly/service/XlyErpService.java
+++ b/src/main/java/com/xly/service/XlyErpService.java
@@ -125,7 +125,7 @@ public class XlyErpService {
// 3. 未选场景:先展示场景选择界面,处理用户序号选择
if (!session.isSceneSelected() && ValiDataUtil.me().isPureNumber(input)){
// 3.1 尝试处理场景选择(输入序号则匹配,否则展示选择提示)
- AiResponseDTO aiResponseDTO = handleSceneSelect(userId, input, session,1);
+ AiResponseDTO aiResponseDTO = handleSceneSelect(userId, input, session,1,0);
return Flux.just(aiResponseDTO);
}
// 4. 构建Agent,执行业务交互,如果返回为null,说明大模型没有判段出场景,必判断出后才能继续
@@ -241,10 +241,11 @@ public class XlyErpService {
String sSubsidiaryId,
String sUserType,
String authorization,
- Integer iPage) {
+ Integer iPage,
+ Integer pageCount) {
// 1. 初始化用户场景会话(权限内场景)
UserSceneSession session = userSceneSessionService.getUserSceneSession(userId,sUserName,sBrandsId,sSubsidiaryId,sUserType,authorization);
- return getChange(session, iPage);
+ return getChange(session, iPage, pageCount);
}
/***
@@ -290,7 +291,7 @@ public class XlyErpService {
// 3. 未选场景:先展示场景选择界面,处理用户序号选择
if (!session.isSceneSelected() && ValiDataUtil.me().isPureNumber(input)){
// 3.1 尝试处理场景选择(输入序号则匹配,否则展示选择提示)
- return handleSceneSelect(userId, input, session,1);
+ return handleSceneSelect(userId, input, session,1,0);
}
// 4. 构建Agent,执行业务交互,如果返回为null,说明大模型没有判段出场景,必判断出后才能继续
ErpAiAgent aiAgent = createErpAiAgent(userId, input, session);
@@ -962,7 +963,7 @@ public class XlyErpService {
/**
* 处理用户场景选择:输入序号→匹配场景→更新会话状态
*/
- private AiResponseDTO handleSceneSelect(String userId, String userInput, UserSceneSession session,Integer page) {
+ private AiResponseDTO handleSceneSelect(String userId, String userInput, UserSceneSession session,Integer page,Integer pageCount) {
// 1. 尝试根据序号匹配场景
boolean selectSuccess = session.selectSceneByInput(userInput);
String sceneName = StrUtil.EMPTY;
@@ -974,7 +975,7 @@ public class XlyErpService {
UserSceneSessionService.ERP_AGENT_CACHE.remove(userId);
//清除记忆缓存
operableChatMemoryProvider.clearSpecifiedMemory(userId);
- return getChange( session, page);
+ return getChange( session, page,pageCount);
} else {
// 3. 选择失败:重新展示场景选择提示
return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText(session.buildSceneSelectHint()).build();
@@ -988,13 +989,13 @@ public class XlyErpService {
* @return com.xly.entity.AiResponseDTO
* @Description 用户输入数字换一换
**/
- private AiResponseDTO getChange(UserSceneSession session,Integer page){
+ private AiResponseDTO getChange(UserSceneSession session,Integer page,Integer pageCount){
StringBuffer aiText = new StringBuffer().append("
")
.append("
")
.append("智能体选择成功! 现在可以问她相关问题(如" + String.join("、", session.getCurrentScene().getSSceneContext()) + ")")
.append("
");
//插入用户常用问题
- aiText.append(getSelectAgent(session,page));
+ aiText.append(getSelectAgent(session,page,pageCount));
String sceneName = ObjectUtil.isNotEmpty(session.getCurrentScene())?session.getCurrentScene().getSSceneName():StrUtil.EMPTY;
String methodName = ObjectUtil.isNotEmpty(session.getCurrentTool())?session.getCurrentTool().getSControlName():StrUtil.EMPTY;
return AiResponseDTO.builder().sSceneName(sceneName).sMethodName(methodName).aiText(aiText.toString()).sSceneName(session.getCurrentScene().getSSceneName()).build();
@@ -1009,14 +1010,14 @@ public class XlyErpService {
* @return java.lang.String
* @Description 选择智能体成功后获取高频问题列表
**/
- private String getSelectAgent(UserSceneSession session,Integer page){
+ private String getSelectAgent(UserSceneSession session,Integer page,Integer pageCount){
List
toolMetaAll = session.getAuthTool();
String sSceneId = session.getCurrentScene().getSId();
toolMetaAll = toolMetaAll.stream().filter(to-> to.getSSceneId().equals(session.getCurrentScene().getSId())).collect(Collectors.toUnmodifiableList());
StringBuffer sb = new StringBuffer();
//获取用户最近五次问题
List