package com.red.circle.other.inner.model.dto.agency.agency;

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;

/**
 * 后台手动发放主播工资结果.
 */
@Data
@Accessors(chain = true)
public class TeamManualSalaryPaymentResultDTO implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 工资发放明细 id.
   */
  private String id;

  /**
   * 归属系统.
   */
  private String sysOrigin;

  /**
   * 国家 code.
   */
  private String countryCode;

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

  /**
   * 团队 id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long teamId;

  /**
   * 团队拥有者用户 id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long teamOwnId;

  /**
   * 主播用户 id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long userId;

  /**
   * 当前账期.
   */
  private Integer billBelong;

  /**
   * 发放前工资余额.
   */
  private BigDecimal beforeSalaryBalance;

  /**
   * 发放后工资余额.
   */
  private BigDecimal afterSalaryBalance;

  /**
   * 本次发放工资.
   */
  private BigDecimal issuedSalary;

  /**
   * 本次积分.
   */
  private Long currentTarget;

  /**
   * 发放档位.
   */
  private Integer policyLevel;
}
