package cn.estsh.i3plus.pojo.model.softswitch;

import cn.estsh.i3plus.pojo.base.annotation.XStreamCDATA;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.softswitch.bean.BsSuitRecord;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @Description :
 * @Reference :
 * @Author : wei.peng
 * @CreateDate : 19-9-5 下午7:30
 * @Modify:
 **/
@Data
@XStreamAlias("server")
public class SuitServerModel {

    // 执行方法命令
    @ApiParam(value = "适配器code")
    private String suitCaseCode;
    /* 认证使用 以后使用 */
    private String token;

    // 请求ID
    private String requestId;
    // 传输单对象
    private Object obj;
    // 传输集合
    private List list;
    // 传输键值对
    private Map<String,Object> map;
    // 传输 JSON 数据
    private String json;

    /**
     * 适配结果信息
     */
//    @XStreamImplicit
    private String suitMessage;

    /**
     * 适配状态码
     */
//    @XStreamImplicit
    private String suitCaseStatusCode = ResourceEnumUtil.MESSAGE.SUCCESS.getCode();

    /**
     * 适配结果
     */
//    @XStreamImplicit
    private boolean suitSuccess = true;

    /**
     * 适配记录
     */
    @XStreamOmitField
    private BsSuitRecord bsSuitRecord;

    /**
     * 适配器信息
     */
    @XStreamOmitField
    private BsSuitCaseModel bsSuitCaseModel;

    /**
     * 请求来源
     */
//    @XStreamImplicit
    private Integer requestSource;

    /**
     * 适配方式
     */
//    @XStreamImplicit
    private Integer suitMethodId;

    public int getSuitMethodIdVal(){
        if(suitMethodId == null){
            return -1;
        }
        return suitMethodId.intValue();
    }

//    @XStreamImplicit
    private String analyzeMessage;
}
