package com.red.circle.other.infra.database.mongo.dto.team;

import com.red.circle.other.inner.model.dto.activity.props.ActivityRewardPropsDTO;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 成员工作账单目标.
 *
 * @author pengliang on 2022/12/1
 */
@Data
@Accessors(chain = true)
public class TeamBillMemberTarget implements Serializable {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * 目标记录id.
   */
  private Long targetId;

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

  /**
   * 满足level.
   */
  private Integer level;

  /**
   * true，满足任意等级， false 不满足等级.
   */
  private Boolean satisfyLevel;

  /**
   * 用户id.
   */
  private Long userId;

  /**
   * 接收礼物.
   */
  private Long acceptGiftValue;

  /**
   * 赠送礼物.
   */
  private Long giveGiftValue;

  /**
   * 房间流水.
   */
  private Long roomValue;

  /**
   * 在线时间.
   */
  private Long onlineTime;

  /**
   * 成员工资.
   */
  private BigDecimal memberSalary;

  /**
   * 拥有者工资.
   */
  private BigDecimal ownSalary;

  /**
   * 工资合计memberSalary+ownSalary.
   */
  private BigDecimal totalSalary;

  /**
   * 道具奖励.
   */
  private List<ActivityRewardPropsDTO> propsRewards;

  /**
   * 类型 MONEY(美金政策)、SALARY_DIAMOND(工资钻石政策).
   */
  private String policyType;

  /**
   * 已兑换工资（钻石）
   */
  private BigDecimal redeemedSalary;

  /**
   * 剩余工资（钻石）
   */
  private BigDecimal surplusSalary;

}
