package com.brilliance.isc.esb.model;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.springframework.util.StringUtils;

public abstract class AbsResNew {
    /**
     * 系统信息头
     */
    /**
     * 数据包长度
     */
    public String SHJBCD;

    /**
     * 报文MAC
     */
    public String BAWMAC;

    /**
     * MAC机构号
     */
    public String MACJGH = "9270";

    /**
     * PIN密钥名称
     */
    public String PINKEY = "";

    /**
     * PIN种子
     */
    public String PINZHZ;

    /**
     * 渠道来源
     */
    public String CHNLNO = "270";

    /**
     * 渠道去向
     */
    public String CHNLTO = "810";

    /**
     * 加密标志
     */
    public String MACFLG = "1";

    /**
     * PIN标志
     */
    public String PINFLG = "0";

    /**
     * 组合标志
     */
    public String COMFLG = "0";

    /**
     * 主机服务名
     */
    public String ZUJFUW;

    /**
     * 信息结束标志
     */
    public String XXJSBZ;

    /**
     * 报文序号
     */
    public String SJBSXH;

    /**
     * 校验标志
     */
    public String JIOYBZ;

    /**
     * 密钥版本号
     */
    public String MIYBBH;

    /**
     * 系统标识符
     */
    public String QUDAOO = "270";

    /**
     * 密码偏移量
     */
    public String MIMPYL;

    /**
     * 帐号偏移量
     */
    public String ZHHPYL;
    /**
     * 交易公共信息头
     */
    /**
     * 交易代码
     */
    public String JIAOYM;

    /**
     * 联动交易码
     */
    public String LDJYDM;

    /**
     * 交易日期
     */
    public String JIOYRQ;

    /**
     * 交易时间
     */
    public String JIOYSJ;

    /**
     * 柜员流水号
     */
    public String GUIYLS;

    /**
     * 出错交易序号
     */
    public String CWJYXH;

    /**
     * 错误代号
     */
    public String PTCWDH = "AAAAAAA";

    /**
     *
     */
    public String CUOWXX;

    @JsonIgnore
    @JSONField(serialize = false)
    public boolean isSuccess() {
        return "AAAAAAA".equals(PTCWDH);
    }
    @JsonIgnore
    @JSONField(serialize = false)
    public boolean isSuccess(String code) {
        if(StringUtils.isEmpty(code)){
            return false;
        }
        return "AAAAAAA".equals(PTCWDH) || code.equals(PTCWDH);
    }

//    @JsonIgnore
//    @JSONField(
//            serialize = false
//    )
//    public String getErrorCode() {
//        return this.PTCWDH;
//    }
//
//    @JsonIgnore
//    @JSONField(
//            serialize = false
//    )
//    public String getErrorMsg() {
//        return "服务方未返回错误信息";
//    }

}
