package com.red.circle.other.domain.model.user.ability;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
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.sql.Timestamp;
import java.util.Map;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 区域.
 *
 * @author pengliang on 2022/12/1
 */
@Data
@Accessors(chain = true)
@JsonIgnoreProperties(ignoreUnknown = true)
public class RegionConfig implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 区域id.
   */
  private String id;

  /**
   * 区域CODE编码.
   */
  private String regionCode;

  /**
   * 系统管理.
   */
  private String sysOrigin;

  /**
   * 区域名称.
   */
  private String regionName;

  /**
   * 语言code集合.
   */
  private String langeCodes;

  /**
   * 国家code集合.
   */
  private String countryCodes;

  /**
   * 备注.
   */
  private String remarks;

  /**
   * true 已删除，false 未删除.
   */
  private Boolean del;

  /**
   * 提现方式.
   */
  private String withdrawalWays;

  /**
   * 创建时间.
   */
  private Timestamp createTime;

  /**
   * 修改时间.
   */
  private Timestamp updateTime;

  /**
   * 创建用户.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long createUser;

  /**
   * 修改用户.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long updateUser;

  /**
   * 元数据.
   */
  private Map<String, String> metadata;

  /**
   * 钻石钱包元数据.
   */
  private Map<String, String> diamondMetadata;
}
