package com.sonic.lion.domain.input;

import com.sonic.lion.enums.BizType;
import com.sonic.lion.enums.PayChannel;
import com.sonic.lion.domain.enums.BuffType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

    private String platform;

    private Long decUid;

    private BuffType decBuffType;

    private Long decBuff;

    private Long addUid;

    private BuffType addBuffType;

    private Long addBuff;

    private Long addSystemUid;

    private BuffType addSystemBuffType;

    private Long addSystemBuff;

    private PayChannel payChannel;

    private BizType bizType;

    private String tradeNo;

    private String bizNo;

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

    private String errorMessage;

    private String reason;

    private Long giftAmount;

    private String payMethod;

    private String extend;

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

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

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