/*
 * 文 件 名:  StepExecutionResult
 * 版    权:  华设设计集团股份有限公司
 * 描    述:  <描述>
 * 修 改 人:  lvwenbin
 * 修改时间:  2025/11/27
 * 跟踪单号:  <跟踪单号>
 * 修改单号:  <修改单号>
 * 修改内容:  <修改内容>
 */
package com.ruoyi.ems.domain;

import lombok.Data;

/**
 * StepExecutionResult
 * <功能详细描述>
 *
 * @author lvwenbin
 * @version [版本号, 2025/11/27]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Data
public class StepExecutionResult {
    private boolean success;
    private String stepCode;
    private Object result;
    private String errorMessage;
    private long duration;

    public static StepExecutionResult success(String stepCode, Object result, long duration) {
        StepExecutionResult r = new StepExecutionResult();
        r.setSuccess(true);
        r.setStepCode(stepCode);
        r.setResult(result);
        r.setDuration(duration);
        return r;
    }

    public static StepExecutionResult fail(String stepCode, String error, long duration) {
        StepExecutionResult r = new StepExecutionResult();
        r.setSuccess(false);
        r.setStepCode(stepCode);
        r.setErrorMessage(error);
        r.setDuration(duration);
        return r;
    }
}