package com.sonic.lion.domain.input;

import com.sonic.lion.enums.BizType;
import com.sonic.lion.enums.PayChannel;
import com.sonic.lion.domain.entity.AppStoreProduct;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @author code
 * 转账所需所有 额外字段。
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BuffTransferExtend {

    /**
     * 发生的 用户Id
     */
    private Long uid;

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

//    /**
//     * 发生的Buff数量
//     */
//    private Long buff;

    /**
     * 业务类型
     */
    private BizType bizType;

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

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

    /**
     * 业务编号
     */
    private String bizNo;

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

    /**
     * 原因
     */
    private String reason;

    /**
     * 订阅时长 （待提现天数）
     */
    private AppStoreProduct.PERIOD period;


    @ApiModelProperty(value = "如果是订阅，则为订阅开始时间，如果是续订，则为上次的订阅的过期时间")
    private LocalDateTime startTime;

    private String extend;
}
