Skip to content

Commit 4ca276f

Browse files
author
wuayee
committed
[appBuilder] 处理表单无法重新对话的问题
1 parent 5c90521 commit 4ca276f

File tree

3 files changed

+31
-17
lines changed
  • app-builder/jane
    • plugins/aipp-plugin/src
    • services/aipp-service/src/main/java/modelengine/fit/jober/aipp/entity

3 files changed

+31
-17
lines changed

app-builder/jane/plugins/aipp-plugin/src/main/java/modelengine/fit/jober/aipp/domains/appversion/AppVersion.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import static modelengine.fit.jober.aipp.util.UsefulUtils.doIfNull;
2929
import static modelengine.fitframework.util.ObjectUtils.cast;
3030

31+
import com.alibaba.fastjson.JSON;
32+
3133
import lombok.Getter;
3234
import modelengine.fel.tool.service.ToolService;
3335
import modelengine.fit.jade.aipp.model.dto.ModelAccessInfo;
@@ -80,6 +82,7 @@
8082
import modelengine.fit.jober.aipp.dto.export.AppExportFlowGraph;
8183
import modelengine.fit.jober.aipp.dto.template.TemplateAppCreateDto;
8284
import modelengine.fit.jober.aipp.dto.template.TemplateInfoDto;
85+
import modelengine.fit.jober.aipp.entity.AippInstLog;
8386
import modelengine.fit.jober.aipp.entity.ChatSession;
8487
import modelengine.fit.jober.aipp.enums.AippMetaStatusEnum;
8588
import modelengine.fit.jober.aipp.enums.AippTypeEnum;
@@ -590,17 +593,31 @@ public void restart(AppTaskInstance instance, Map<String, Object> restartParams,
590593
runContext.setChatId(chatList.get(0).getChatId());
591594
runContext.setUserContext(mergedRestartParams);
592595
runContext.putAllToBusiness(mergedRestartParams);
593-
runContext.setQuestion(appLog.getLogData().getQuestion());
596+
runContext.setQuestion(this.getQuestion(appLog.getLogData()));
594597
if (chatList.size() == 2) {
595598
runContext.setAtChatId(chatList.get(1).getChatId());
596599
}
597600
if (runContext.isOverWriteMode()) {
598601
instance.overWrite();
599602
}
600-
this.run(runContext, session);
603+
boolean isDebug =
604+
StringUtils.equals(AppState.INACTIVE.getName(), this.getState(chatList.get(0).getAttributes()));
605+
if (isDebug) {
606+
this.debug(runContext, session);
607+
} else {
608+
this.run(runContext, session);
609+
}
601610
onFinished.accept(runContext);
602611
}
603612

613+
private String getState(String attributes) {
614+
return ObjectUtils.cast(JsonUtils.parseObject(attributes).get(AippConst.ATTR_CHAT_STATE_KEY));
615+
}
616+
617+
private String getQuestion(AippInstLog instLog) {
618+
return JSON.parseObject(instLog.getLogData()).getString("msg");
619+
}
620+
604621
/**
605622
* 获取 icon.
606623
*

app-builder/jane/plugins/aipp-plugin/src/test/java/modelengine/fit/jober/aipp/domains/appversion/AppVersionTest.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -666,8 +666,12 @@ public void testRestartNormally() {
666666
AppTaskInstance instance = mock(AppTaskInstance.class);
667667
when(AppVersionTest.this.appTaskInstanceService.getInstanceById(anyString(), any())).thenReturn(
668668
Optional.of(instance));
669-
when(instance.getChats()).thenReturn(
670-
List.of(QueryChatRsp.builder().appId("app_version_1").chatId("chat_1").build()));
669+
String attributes = "{\"state\":\"active\"}";
670+
when(instance.getChats()).thenReturn(List.of(QueryChatRsp.builder()
671+
.appId("app_version_1")
672+
.attributes(attributes)
673+
.chatId("chat_1")
674+
.build()));
671675

672676
AppLog appLog = mock(AppLog.class);
673677
when(instance.getLogs()).thenReturn(List.of(appLog));
@@ -716,8 +720,12 @@ public void testRestartWithAtChatId() {
716720
AppTaskInstance instance = mock(AppTaskInstance.class);
717721
when(AppVersionTest.this.appTaskInstanceService.getInstanceById(anyString(), any())).thenReturn(
718722
Optional.of(instance));
719-
when(instance.getChats()).thenReturn(
720-
List.of(QueryChatRsp.builder().appId("app_version_1").chatId("chat_1").build(), atChat));
723+
String attributes = "{\"state\":\"active\"}";
724+
when(instance.getChats()).thenReturn(List.of(QueryChatRsp.builder()
725+
.appId("app_version_1")
726+
.chatId("chat_1")
727+
.attributes(attributes)
728+
.build(), atChat));
721729

722730
AppLog appLog = mock(AppLog.class);
723731
when(instance.getLogs()).thenReturn(List.of(appLog));

app-builder/jane/services/aipp-service/src/main/java/modelengine/fit/jober/aipp/entity/AippInstLog.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66

77
package modelengine.fit.jober.aipp.entity;
88

9-
import com.alibaba.fastjson.JSON;
10-
119
import lombok.AllArgsConstructor;
1210
import lombok.Builder;
1311
import lombok.Data;
@@ -62,13 +60,4 @@ public class AippInstLog {
6260

6361
@Property(description = "历史数据类型 {@link AippInstLogType}")
6462
private String logType;
65-
66-
/**
67-
* 获取 question 数据.
68-
*
69-
* @return {@link String} 问题.
70-
*/
71-
public String getQuestion() {
72-
return JSON.parseObject(this.getLogData()).getString("msg");
73-
}
7463
}

0 commit comments

Comments
 (0)