package com.wms_main.model.dto.response.ewm;

import lombok.Data;

import java.util.List;

@Data
public class EwmApiLocalResponse {
    private String state;  // 状态字段，"successfully"表示成功
    private String message;  // 响应消息
    private Content content; // 实际内容

    @Data
    public static class Content {
        private String billNo;           // 单据号（ASN）
        private String billType;         // 单据类型
        private String containerNo;      // 容器号（可选）
        private List<TaskDetailInfo> taskDetailInfo; // 任务明细列表
    }

    /**
     * 判断响应是否成功
     * @return 是否成功
     */
    public boolean isSuccess() {
        return "successfully".equals(state);
    }

    /**
     * 创建成功的响应
     * @param message 响应消息
     * @param content 数据内容
     * @return EwmApiLocalResponse实例
     */
    public static EwmApiLocalResponse success(String message, Content content) {
        EwmApiLocalResponse response = new EwmApiLocalResponse();
        response.setState("successfully");
        response.setMessage(message);
        response.setContent(content);
        return response;
    }

    /**
     * 创建成功的响应（仅消息）
     * @param message 响应消息
     * @return EwmApiLocalResponse实例
     */
    public static EwmApiLocalResponse success(String message) {
        return success(message, null);
    }

    /**
     * 创建错误响应
     * @param message 错误消息
     * @return EwmApiLocalResponse实例
     */
    public static EwmApiLocalResponse error(String message) {
        EwmApiLocalResponse response = new EwmApiLocalResponse();
        response.setState("error"); // 或其他表示错误的状态值
        response.setMessage(message);
        return response;
    }
}
