package com.red.circle.order.infra.database.mongo.order.entity.assist;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 国家支持渠道详情
 * </p>
 *
 * @author pengliang on 2022/10/26
 */
@Data
@Accessors(chain = true)
public class InAppPurchasePayCountryChannelDetails implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 主键标识
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /**
   * 开通支付国家id
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long payCountryId;

  /**
   * 国家渠道记录编号
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long countryChannelId;

  /**
   * 自家渠道code
   */
  private String channelCode;

  /**
   * 厂商code
   */
  private String factoryCode;

  /**
   * 第三方厂商code.
   */
  private String factoryChannel;

  /**
   * 厂商最小限制金额
   */
  private BigDecimal factoryMinLimit;

  /**
   * 最大支付金额
   */
  private BigDecimal factoryMaxLimit;

  /**
   * 厂商每日限额
   */
  private BigDecimal factoryDailyLimit;

  /**
   * 厂商最小限制金额-计算后
   */
  private BigDecimal computedMinLimit;

  /**
   * 最大支付金额-计算后
   */
  private BigDecimal computedMaxLimit;

  /**
   * 厂商每日限额-计算后
   */
  private BigDecimal computedDailyLimit;

  /**
   * 0.下架 1.上架
   */
  private Boolean shelf;

}
