package com.red.circle.other.inner.model.conf;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 内购产品列表.
 * </p>
 *
 * @author lixiaofei
 * @since 2024-07-10
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties(ignoreUnknown = true)
public class ProductConfigCache implements Serializable {

  private static final long serialVersionUID = 1L;

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

  /**
   * 产品id.
   */
  private String productId;

  /**
   * 包名.
   */
  private String productPackage;

  /**
   * 产品类型.
   */
  private String productType;

  /**
   * 描述.
   */
  private String description;

  /**
   * 分组名称.
   */
  private String groupName;

  /**
   * 产品单价.
   */
  private BigDecimal unitPrice;

  /**
   * 获得糖果数量.
   */
  private BigDecimal obtainCandy;

  /**
   * 奖励糖果.
   */
  private BigDecimal rewardCandy;

  /**
   * 折扣率.
   */
  private Integer discountRate;

  /**
   * 平台.
   */
  private String platform;

  /**
   * 显示序号.
   */
  private Integer sort;

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

  /**
   * 是否推荐产品.
   */
  private Boolean recommend;

  /**
   * 标签 MOST_POPULAR、BEST_VALUE.
   */
  private String tags;

  /**
   * 关联包名.
   */
  private List<PayPlatformProductPackageCache> packages;
}
