package org.tio.sitexxx.service.service.pay.vo.ncount;

import lombok.Data;
import org.tio.sitexxx.service.service.pay.vo.ncount.base.NCountBaseVo;

import java.util.Map;

/**
 * <pre>
 *    @author : vagrancy
 *    e-mail : 18050829067@163.com
 *    time   : 2025-11-25 10:37
 *    desc   :
 * </pre>
 */
@Data
public class NTradeVo extends NCountBaseVo {

    private static final long serialVersionUID = 1L;

    public static String TRAN_MER_ORDER_ID = "tranMerOrderId";

    public static final String[]	encryptArr	= new String[] { "tranMerOrderId", "queryType" };
    public static final String[]	verifyArr	= new String[] { "version", "tranCode", "merOrderId", "merId", "charset", "signType", "resultCode", "errorCode", "tranMerOrderId",
            "ncountOrderId", "orderStatus", "tranAmount" };
    public static final String[]	submitArr	= new String[] { "version", "tranCode", "merId", "merOrderId", "submitTime", "msgCiphertext", "signType", "signValue", "merAttach",
            "charset" };

    /**
     * 交易商户订单号
     */
    private String tranMerOrderId;

    /**
     * 交易类型
     */
    private String queryType;

    public Map<String, Object> getCommonRespParams() {
        Map<String, Object> map = super.getCommonRespParams();
        map.put(TRAN_MER_ORDER_ID, this.tranMerOrderId);
        return map;
    }

    @Override
    public String getEncryptJsonStr() {
        return getJsonStr(this, encryptArr);
    }

    @Override
    public String getVerifyJsonStr() {
        return getJsonStr(this, verifyArr);
    }

    @Override
    public String getSubmitJsonStr() {
        return getJsonStr(this, submitArr);
    }
}

