package com.sonic.lion.domain.output;

import com.sonic.lion.enums.BizType;
import com.sonic.lion.enums.PaymentType;
import com.sonic.lion.enums.TradeStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @author: code
 * @date: 2025/06/12
 * @Description:
 * @version: 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TradeHandleOutput {

    private Long uid;

    protected String tradeNo;

    protected String outTradeNo;

    private BizType bizType;

    protected Long amount;

    private TradeStatus status;

    private LocalDateTime statusInTime;

    private PaymentType paymentType;

    /**
     * 交易实际成交金额,单位:分
     */
    private Long occurAmount;

    /**
     * 优惠金额
     */
    private Long promoAmount;

    /**
     * 优惠金额
     */
    private Long fee;

    private String tradeMessage;


    private String paymentTradeNo;
    private String paymentTradeOrderNo;
    private BizType paymentBizType;
    private Long chargeAmount;

}
