package org.tio.sitexxx.service.service.pay.base;

import cn.hutool.core.util.StrUtil;
import lombok.Data;

import java.util.Map;

/**
 * <pre>
 *    @author : vagrancy
 *    e-mail : 18050829067@163.com
 *    time   : 2025-11-24 18:19
 *    desc   :
 * </pre>
 */
@Data
public class BasePayResp {

    /**
     * 响应数据
     */
    private Map<String, Object> resp;

    /**
     * 成功与否
     */
    private boolean ok;

    /**
     * 返回状态
     */
    private String status;

    /**
     * code码
     */
    private int code;

    /**
     * 商户返回code
     */
    private String merCode;

    /**
     * 商户返回业务code
     */
    private String merBizCode;

    /**
     * 消息
     */
    private String msg;

    public boolean isBizOk() {
        if (!this.ok) {
            return false;
        }
        if (StrUtil.isNotBlank(merBizCode)) {
            return false;
        }
        return true;

    }

    /**
     * 业务错误信息
     * @return
     * @author xufei
     * 2021年3月17日 下午5:27:23
     */
    public String getMerMsg() {
        if (StrUtil.isBlank(this.merBizCode)) {
            return "";
        }
        return this.merBizCode + ":" + this.msg;
    }

    public static BasePayResp fail(String msg, String merCode) {
        BasePayResp payResp = new BasePayResp();
        payResp.setOk(false);
        payResp.setMerCode(merCode);
        payResp.setMsg(msg);
        return payResp;
    }
}
