package org.jeecg.modules.pay.request.v3.labs;


import org.jeecg.modules.pay.core.LakalaPayConfig;
import org.jeecg.modules.pay.request.ReqData;
import org.jeecg.modules.pay.request.ReqLocationInfo;

/**
 * 撤销交易接口请求报文
 * 交易接口V3.0下支付类接口
 *
 * @author Mr丶xie
 * @version 1.0.0
 * @mail xielinke@lklink.cn
 */
public class RevokedRequest extends ReqData {

    private RevokedRequest() {
    }

    /**
     * 初始化撤销交易接口请求报文
     *
     * @param out_trade_no  商户交易流水号
     * @param location_info 地址位置信息
     */
    public RevokedRequest(String out_trade_no, ReqLocationInfo location_info) {
        this.merchant_no = LakalaPayConfig.MERCHANT_NO;
        this.term_no = LakalaPayConfig.TERM_NO;
        this.out_trade_no = out_trade_no;
        this.location_info = location_info;
    }

    /**
     * 商户号
     * 拉卡拉分配的商户号
     */
    private String merchant_no;

    /**
     * 终端号
     * 拉卡拉分配的商户号
     */
    private String term_no;

    /**
     * 商户交易流水号
     * 商户系统唯一
     */
    private String out_trade_no;

    /**
     * 原商户交易流水号
     * 下单时的商户请求流水号（撤销时origin_out_trade_no，origin_trade_no必送其一）
     */
    private String origin_out_trade_no;

    /**
     * 原拉卡拉交易流水号
     * 下单成功时，返回的拉卡拉交易流水。
     */
    private String origin_trade_no;

    /**
     * 地址位置信息
     * 地址位置信息，风控要求必送
     */
    private ReqLocationInfo location_info;

    public String getMerchant_no() {
        return merchant_no;
    }

    public void setMerchant_no(String merchant_no) {
        this.merchant_no = merchant_no;
    }

    public String getTerm_no() {
        return term_no;
    }

    public void setTerm_no(String term_no) {
        this.term_no = term_no;
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getOrigin_out_trade_no() {
        return origin_out_trade_no;
    }

    public void setOrigin_out_trade_no(String origin_out_trade_no) {
        this.origin_out_trade_no = origin_out_trade_no;
    }

    public String getOrigin_trade_no() {
        return origin_trade_no;
    }

    public void setOrigin_trade_no(String origin_trade_no) {
        this.origin_trade_no = origin_trade_no;
    }

    public ReqLocationInfo getLocation_info() {
        return location_info;
    }

    public void setLocation_info(ReqLocationInfo location_info) {
        this.location_info = location_info;
    }
}
