package com.mes.interaction.base;
|
|
import lombok.AllArgsConstructor;
|
import lombok.Builder;
|
import lombok.Getter;
|
|
import java.util.Collections;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 交互执行结果
|
*/
|
@Getter
|
@Builder
|
@AllArgsConstructor
|
public class InteractionResult {
|
|
public enum Status {
|
SUCCESS, WAITING, FAILED
|
}
|
|
private final Status status;
|
private final String message;
|
@Builder.Default
|
private final Map<String, Object> data = new HashMap<>();
|
|
public static InteractionResult success(Map<String, Object> payload) {
|
return InteractionResult.builder()
|
.status(Status.SUCCESS)
|
.message("success")
|
.data(payload != null ? payload : Collections.emptyMap())
|
.build();
|
}
|
|
public static InteractionResult waitResult(String message, Map<String, Object> payload) {
|
return InteractionResult.builder()
|
.status(Status.WAITING)
|
.message(message)
|
.data(payload != null ? payload : Collections.emptyMap())
|
.build();
|
}
|
|
public static InteractionResult fail(String message) {
|
return InteractionResult.builder()
|
.status(Status.FAILED)
|
.message(message)
|
.data(Collections.emptyMap())
|
.build();
|
}
|
|
public boolean isSuccess() {
|
return status == Status.SUCCESS;
|
}
|
|
public boolean isWaiting() {
|
return status == Status.WAITING;
|
}
|
}
|