package com.sonic.lion.domain.input;

import com.sonic.lion.enums.BizType;
import com.sonic.lion.enums.PayChannel;
import lombok.*;

import java.time.LocalDateTime;

/**
 * @author: code
 * @date: 2025/07/17
 * @Description:
 * @version: 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class BuffChangeInput {

    /**
     * 平台代码
     */
    private String platform;

    /**
     * 变动金额的用户id
     */
    private Long uid;

    /**
     * 变动的buff
     */
    private Long buff;

    /**
     * 赠送金额
     */
    private Long giftAmount;

    /**
     * 对手方用户id
     */
    private Long desUid;

    /**
     * 支付渠道
     */
    private PayChannel payChannel;

    /**
     * 交易号
     */
    private String tradeNo;

    /**
     * 业务订单号
     */
    private String bizNo;

    /**
     * 外部交易号关联单号（如：打赏单号关联的游戏订单的订单号）
     */
    private String bizNoRelationNo;

    /**
     * 交易类型
     */
    private BizType bizType;

    private String errorMessage;

    private String reason;

    private String extend;

    private String payMethod;

    /**
     * 转入可提现收入时间
     */
    private LocalDateTime toWithdrawableIncomeTime;

    /**
     * 游戏订单 担保交易 冗余目标方的用户id
     */
    private Long targetUserId;

    /**
     * 是否全额退款
     */
    private Boolean fullRefund;
}
