package com.wzj.soopin.transaction.domain.bo.easypay.trade.query.resp;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 基础订单信息
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TradeQueryRespOrderInfo {

    /**
     * 付款卡类型，详见F.9
     */
    private String cardType;
    /**
     * 支付完成日期
     */
    private String dateEnd;
    /**
     * 商户订单号，商户生成请求易生的流水号
     */
    private String orgTrace;
    /**
     * 易生订单号，易生生成后上送渠道的订单号
     */
    private String outTrace;
    /**
     * 实际付款金额，用户实付金额，与订单是否参与渠道优惠活动有关。比如当订单发起金额1000，参加渠道用户减免100，实际付款金额为900。
     */
    private Long payAmount;
    /**
     * 渠道订单号，渠道生成返回给易生的订单号，例如微信、支付宝订单号
     */
    private String pcTrace;
    /**
     * 产品订单号
     */
    private String productTrace;
    /**
     * 已退款金额总额
     */
    private Long refundAmountSum;
    /**
     * 已分账金额总额
     */
    private Long separateAmountSum;
    /**
     * 应结订单金额，上游渠道清算金额，与订单是否参与上游渠道优惠活动有关。
     * 1、假如一笔微信订单1000，参与了微信的满减1000-100，比如由银行出资，微信会按1000给我们结算，这个应结金额=1000。
     * 2、假如一笔微信订单1000，由商户自己在微信那边配了营销活动，且配的是从商户的结算款扣除营销款，这时候微信按900来款，应结金额=900
     */
    private Long stlmAmount;
    /**
     * 已结算金额总额
     */
    private Long stlmAmountSum;
    /**
     * 支付完成/清算时间
     */
    private String timeEnd;
    /**
     * 交易金额
     */
    private Long transAmount;
    /**
     * 银联订单号，银联生成并返回给易生的订单号
     */
    private String unTrace;
    /**
     * 用户唯一编码
     */
    private String userId;
}
