package com.ycwl.basic.integration.profitshare.dto.rule;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * 分账接收人VO
 *
 * @author Claude Code
 * @date 2025-01-11
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class RecipientVO {

    /**
     * 接收人ID
     */
    @JsonProperty("id")
    private Long id;

    /**
     * 接收人名称
     */
    @JsonProperty("recipient_name")
    private String recipientName;

    /**
     * 接收人类型
     */
    @JsonProperty("recipient_type")
    private String recipientType;

    /**
     * 账户信息
     */
    @JsonProperty("account_info")
    private String accountInfo;

    /**
     * 分账类型
     */
    @JsonProperty("share_type")
    private String shareType;

    /**
     * 分账值
     */
    @JsonProperty("share_value")
    private Double shareValue;

    /**
     * 最小分账金额
     */
    @JsonProperty("min_amount")
    private Double minAmount;

    /**
     * 最大分账金额
     */
    @JsonProperty("max_amount")
    private Double maxAmount;

    /**
     * 优先级
     */
    @JsonProperty("priority")
    private Integer priority;

    /**
     * 扩展配置
     */
    @JsonProperty("ext_config")
    private Map<String, Object> extConfig;

    /**
     * 状态
     */
    @JsonProperty("status")
    private String status;
}
