package com.liquidnet.service.galaxy.dto.param;

import com.liquidnet.commons.lang.util.JsonUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @author AnJiabin <anjiabin@zhengzai.tv>
 * @version V1.0
 * @Description: TODO
 * @class: GalaxyArtSeriesClaimResultQueryRespDto
 * @Package com.liquidnet.service.galaxy.dto.param
 * @Copyright: LightNet @ Copyright (c) 2021
 * @date 2022/3/18 10:51
 */
@ApiModel(value = "GalaxyArtSeriesClaimResultQueryRespDto", description = "NFT系列声明返回结果")
@Data
public class GalaxyArtSeriesClaimResultQueryRespDto  implements Serializable,Cloneable {
    /**
     * 标记任务状态，0：任务执行中 1：任务成功 2：任务失败
     */
    @ApiModelProperty(position = 3, required = true, value = "标记任务状态，0：任务执行中 1：任务成功 2：任务失败")
    private Integer taskStatus;
    /**
     * 失败情况下会有提示信息
     */
    @ApiModelProperty(position = 3, required = true, value = "失败情况下会有提示信息")
    private String taskMsg;
    /**
     * 系列ID，后面用于查询系列信息
     */
    @ApiModelProperty(position = 3, required = true, value = "系列ID，后面用于查询系列信息")
    private String seriesId;
    /**
     * 交易hash
     */
    @ApiModelProperty(position = 3, required = true, value = "交易hash")
    private String txHash;
    /**
     * 链上交易时间戳
     */
    @ApiModelProperty(position = 3, required = true, value = "chainTimestamp")
    private String chainTimestamp;

    /**
     * 系列声明中nftHash
     */
    @ApiModelProperty(position = 4, required = true, value = "nft素材文件Hash")
    private String nftHash;

    @Override
    public String toString() {
        return JsonUtils.toJson(this);
    }

    private static final GalaxyArtSeriesClaimResultQueryRespDto obj = new GalaxyArtSeriesClaimResultQueryRespDto();

    public static GalaxyArtSeriesClaimResultQueryRespDto getNew() {
        try {
            return (GalaxyArtSeriesClaimResultQueryRespDto) obj.clone();
        } catch (CloneNotSupportedException e) {
            return new GalaxyArtSeriesClaimResultQueryRespDto();
        }
    }
}